Wpf xaml -IsExpanded仅适用于第一个元素

时间:2015-08-11 11:32:47

标签: wpf xaml view tree

我怎样才能使Wpf xaml -IsExpanded始终为 第一个元素?

enter image description here

1 个答案:

答案 0 :(得分:2)

如果您使用的是MVVM,则可以将IsExpanded绑定到ViewModel

XAML是这样的:

<TreeView ItemSource={Binding Items}>
    <TreeView.ItemContainerStyle>
        <Style TargetType="{x:Type TreeViewItem}">
            <Setter Property="IsExpanded" Value="{Binding IsExpanded}"/>
        </Style>
    </TreeView.ItemContainerStyle>
    ...
</TreeView>

ViewModel

public class Data : INotifyPropertyChanged
{
  ...
  public bool IsExpanded
  {
    get
    {
      return _isExpanded;
    }
    set
    {
      if (value != _isExpanded)
      {
        _isExpanded = value;
        NotifyPropertyChanged();
      }
    }
  }
  ...
}

然后,您可以将项目中第一个数据的IsExpanded属性设置为true,而其他数据则为false。

(不幸的是我现在无法测试,但我认为这会有所帮助)