<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TreeView ItemsSource="{Binding MyItemSource}">
<!-- Get the selected item here (watch how to in the linked answer) -->
</TreeView>
<ContentPresenter Grid.Column="1"
Content="{Binding Path=SelectedItem}"
>
<ContentPresenter.ContentTemplate>
<DataTemplate>
<DataGrid>
<!-- Your DatGrids or what ever -->
</DataGrid>
</DataTemplate>
</ContentPresenter.ContentTemplate>
</ContentPresenter>
</Grid>
1 回答
如果我理解你的问题 - 那你就有设计问题 .
First 获取
TreeView
的SelectedItem
要在TreeView上使用
SelectedItem
-Binding
,请参阅this . 但你可以在后面的代码中做坏事 .Second 绑定你的
SelectedItem
所以你想要做的是:将
SelectedItem
绑定到像ContentControl
或ContentPresenter
这样的东西上 . 或者在后面的代码中做坏事 .例如这样:
Third (optional) 如果你有不同的
DataGrids
您也可以使用DataTemplateSelector来更改您的视图,具体取决于您的SelectedItem . 您将在此示例中的
ContentPresenter
上使用它 .