2015-08-11 5 views
2

Как я могу сделать так, чтобы Wpf xaml -IsExpanded всегда верно для только первый элемент?Wpf xaml -IsExpanded true только для только первого элемента

enter image description here

+1

Пожалуйста, пост код, который вы написали, это, как правило, не представляется возможным ответить на вопрос, не видя кода. – SuperBiasedMan

ответ

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 истинного ваших первых данных в пунктах в то время как другие ложных.

(К сожалению, я не могу проверить в данный момент, но я думаю, что поможет)

Смежные вопросы