관찰 가능한 컬렉션이 AllNodesAndEntries
인 ViewModel이 있습니다. 각 항목에는 부울 속성 IsEnabled
이 있습니다. 이제 TreeView에 항목을 표시하고 각 TreeViewItem의 IsEnabled
속성을 ViewModel의 기본 항목 인 IsEnabled
속성에 바인딩하려고합니다. 어떻게하면됩니까?TreeViewItem.IsEnabled를 각 TreeViewItem의 ViewModel 속성에 바인딩합니다.
내 TreeView입니다. 두 가지 유형의 항목 (Node
및 Entry
)이 있으므로 하나의 계층 적 데이터 템플릿과 하나의 일반 데이터 템플릿이 있습니다.
<TreeView ItemsSource="{Binding AllNodesAndEntries}">
<TreeView.Resources>
<HierarchicalDataTemplate ItemsSource="{Binding Children}" DataType="{x:Type local:Node}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type local:Entry}">
<TextBlock Text="{Binding Name}""/>
</DataTemplate>
</TreeView.Resources>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<!-- How do I bind to TreeViewItem.IsEnabled to IsEnabled? -->
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
이 난 단지 setter를 정의 할 수 있기 때문에 내가 TreeView.ItemContainerStyle
내부에 그것을 할 수 없어 보인다. 그러나 setter는 값 바인딩을 허용하지 않습니다 ...
setters는 값 바인딩을 허용합니까 ... 바인딩을 작성하는 방법은 무엇입니까? – ASh
좋아요, 허용 된 구문은 타이핑하는 동안 팝업되는 것일뿐입니다. 그리고 'Value = ""를 입력하면 True와 False 만 나타납니다. 수업은 배웠습니다, 고마워요! – Kjara