如何从wpf中的另一个datatemplate访问数据?

时间:2010-05-26 07:25:25

标签: wpf parameters command datatemplate

我有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>

2 个答案:

答案 0 :(得分:1)

您可以尝试使用Binding RelativeSource属性设置为FindAncestor模式并查找DataGrid对象。但是,我不确定它是否适用于您的场景,因为我不知道这些DataTemplate是如何相互关联的。第二个DataTemplate是否用于DataGrid中的项目?!

不知何故,你的设计对我来说很奇怪。你确定在这两种情况下都需要DataTemplate吗?你究竟想要实现什么目标?

答案 1 :(得分:0)