ユーザーがナビゲートしてグリッドに表示するアイテムを選択する TreeView があります。簡単に言うと、XAML は次のようになります。
<local:TreeViewEx x:Name="theTreeView" ItemsSource="{Binding theData}">
<local:TreeViewEx.ItemTemplate>
<sdk:HierarchicalDataTemplate ItemsSource="{Binding theChildData}">
<TextBlock Text="{Binding Name}"/>
</sdk:HierarchicalDataTemplate>
</local:TreeViewEx.ItemTemplate>
</local:TreeViewEx>
<Grid DataContext="{Binding ElementName=theTreeView, Path=SelectedItem}">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding}" />
<TextBlock Text="{Binding Name}" /></StackPanel>
</Grid>
ユーザーがツリービューをクリックすると、ビューモデルの型名が Name プロパティの値とともに表示されます。完全。ただし、ユーザーは TreeViewItem の IsSelected プロパティを設定するツリービューの検索を ( Josh Smithに従って) 実行することもできます。これが発生する{Binding}
と、ViewModel 型名ではなく TreeViewItemEx が表示され、もちろん Name プロパティは表示されません。
selectedItem が ViewModel の場合もあれば、TreeViewItem の場合もある可能性はありますか?