如何将DataGrid选定行中的“id”列作为 MainWindow.xaml
中的命令参数传递MainWindow.xaml
<Button Command="{Binding ViewCustomerCommand}" CommandParameter="??? how to pass id of selected customer ???" />
答案 0 :(得分:4)
好吧,如果你真的需要在SelectedItem
中公开UserControl
,为什么不用这样的属性扩展它呢?
E.g。
public class MyUserControl : UserControl
{
private static readonly SomeType SelectedItemProperty =
DependencyProperty.Register("SelectedItem", typeof(SomeType), typeof(MyUserControl));
public SomeType SelectedItem
{
get { return (SomeType)GetValue(SelectedItemProperty); }
set { SetValue(SelectedItemProperty, value); }
}
}
现在,您可以将SelectedItem
中DataGrid
的{{1}}绑定到其UserControl
属性。
SelectedItem
现在,您只需要找到一种方法来访问<MyUserControl>
<DataGrid SelectedItem="{Binding SelectedItem,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type MyUserControl}}" />
</MyUserControl>
中的SelectedItem
属性。但是我要把那部分留给你了。
请注意,这只是我的想法的一个例证,它可能包含一些小错误。