gpt4 book ai didi

WPF 将 DataGrid 选定的行作为命令参数传递

转载 作者:行者123 更新时间:2023-12-04 02:56:41 25 4
gpt4 key购买 nike

  1. MainWindowViewModel 有一个按 id 显示客户的 ViewCustomerCommand(string id) 命令
  2. MainWindow.xaml 包含 TabControl
  3. TabControl 有一个 UserControl,其中包含绑定(bind)到 Customers 集合的 DataGrid
    |编号 |客户|

如何将 DataGrid 选定行中的“id”列作为 MainWindow.xaml 中的命令参数传递

MainWindow.xaml
<Button Command="{Binding ViewCustomerCommand}" CommandParameter="??? how to pass id of selected customer ???" />

最佳答案

那么,如果您真的需要从 UserControl 中公开 SelectedItem,为什么不使用这样的属性来扩展它呢?

例如

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); }
}
}

现在您可以将 UserControlDataGridSelectedItem 绑定(bind)到它的 SelectedItem 属性。

<MyUserControl>
<DataGrid SelectedItem="{Binding SelectedItem,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type MyUserControl}}" />
</MyUserControl>

现在您只需找到一种方法来访问TabItem 中的SelectedItem 属性。但我要把那部分留给你。

请注意,这只是我的想法的一个示例,可能包含一些小错误。

关于WPF 将 DataGrid 选定的行作为命令参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16563661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com