我有2个Datatemplates。 一个包含一个网格,第二个包含一个按钮。 我需要将按钮的命令参数作为选定的网格项发送。
我该怎么做?
<ObjectDataProvider x:Key="Datas" ObjectType="{x:Type ViewModel:UserControlViewModel}"></ObjectDataProvider>
<DataTemplate x:Key="SourceGrid">
<WPFToolKit:DataGrid x:Name="SourceDataGrid" ItemsSource="{Binding Source={StaticResource Datas},Path=SourceGridData}" CanUserSortColumns="True" GridLinesVisibility="None" IsSynchronizedWithCurrentItem="True" SelectionUnit="FullRow"></WPFToolKit:DataGrid>
</DataTemplate>
<DataTemplate x:Key="AddRemoveDataTemplate">
<StackPanel>
<Button Name="Add" Content="Add">
<Button.Command>
<Binding Source="{StaticResource Datas}" Path="AddCommand">
</Binding>
</Button.Command>
<Binding ElementName="SourceDataGrid" Path="SelectedItem"></Binding>
</Button.CommandParameter>
</Button>
<StackPanel>
</DataTemplate>
答案 0 :(得分:1)
您可以尝试使用Binding
RelativeSource
属性设置为FindAncestor
模式并查找DataGrid
对象。但是,我不确定它是否适用于您的场景,因为我不知道这些DataTemplate
是如何相互关联的。第二个DataTemplate
是否用于DataGrid
中的项目?!
不知何故,你的设计对我来说很奇怪。你确定在这两种情况下都需要DataTemplate
吗?你究竟想要实现什么目标?
答案 1 :(得分:0)