仅在DataGrid中选择一行时如何启用按钮?

布鲁诺

我有这个标记

<DataGrid Margin="10,10,10,48" AutoGenerateColumns="False" Name="grdUsers"
          ItemsSource="{Binding Users}"
>
    <DataGrid.Columns>
        <DataGridTextColumn Header="Name" Width="*" Binding="{Binding Name}" />
        <DataGridTextColumn Header="Username" Width="*" Binding="{Binding Username}" />
        <DataGridTextColumn Header="Password" Width="*" Binding="{Binding Password}" />
        <DataGridTextColumn Header="Role" Width="*" Binding="{Binding Path=Role.Name}" />
    </DataGrid.Columns>
</DataGrid>
<Button Content="Add" HorizontalAlignment="Left" Margin="10,0,0,10" Width="75" Height="20" VerticalAlignment="Bottom"/>
<Button Content="Edit" HorizontalAlignment="Left" Margin="90,0,0,10" Width="75" Height="20" VerticalAlignment="Bottom"/>

<Button Content="Remove" Margin="0,0,10,10" Height="20" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="75"
        Command="{Binding Remove}" CommandParameter="{Binding ElementName=grdUsers, Path=SelectedItem}"/>

我的RelayCommand

public class RelayCommand : ICommand
{
    private readonly Action<object> execute = null;
    private readonly Predicate<object> canExecute = null;

    public RelayCommand(Action<object> execute, Predicate<object> canExecute = null)
    {
        this.execute = execute;
        this.canExecute = canExecute;
    }


    #region ICommand members

    public bool CanExecute(object parameter)
    {
        return canExecute == null ? true : canExecute(parameter);
    }

    public event EventHandler CanExecuteChanged;

    public void Execute(object parameter)
    {
        execute(parameter);
    } 

    #endregion
}

如果在DataGrid中选择了一项,则我的CanExecute方法RelayCommand返回true。

但是窗口打开时未选择任何项目,从而导致按钮被禁用。如果我在DataGrid上选择某些内容,则不会发生任何事情。

如果已在中选择了行,如何“刷新”按钮DataGrid

布鲁诺

我将活动更改为

public event EventHandler CanExecuteChanged
{
    add { CommandManager.RequerySuggested += value; }
    remove { CommandManager.RequerySuggested -= value; }
}

现在它正在工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从MVVM的ViewModel中的datagrid中选择一行?

来自分类Dev

在 p:dataTable 中选择一行时如何查询字段?

来自分类Dev

当多个用户在Gridview中选择同一行时,出现Java脚本弹出框

来自分类Dev

在角度 ui-grid 中选择一行时仅获取可见列

来自分类Dev

如何选择仅在SQL中返回多行时返回第一行

来自分类Dev

在DataGridView C#中选择一行时选择一个单元格

来自分类Dev

从html表中选择一行,并在单击按钮时发送值

来自分类Dev

从html表中选择一行(突出显示),并在单击按钮时发送值

来自分类Dev

从html表中选择一行(突出显示),并在单击按钮时发送值

来自分类Dev

在同一行中选中选择框时如何自动在复选框中选择

来自分类Dev

当我使用休眠类在MySQL中选择一行时,它会自动进行更新

来自分类Dev

在表格中选择下一行时,更新电子表格侧栏中的值

来自分类Dev

WPF DataGrid - 如何在行编辑时显示一行中的按钮(检测编辑模式)?

来自分类Dev

单击装订线左侧时如何在 SynEdit 中选择一行?

来自分类Dev

如何从任何hstore值中选择一行?

来自分类Dev

如何以编程方式在QTreeview中选择一行?

来自分类Dev

如何从包括中选择最后一行

来自分类Dev

如何快速从tableview的每个部分中选择一行?

来自分类Dev

如何在SQL中选择后一行

来自分类Dev

如何在QTreeView中选择上一行?

来自分类Dev

AngularJS:如何基于ID从数组中选择一行

来自分类Dev

如何根据代码的键值在gridview中选择一行?

来自分类Dev

如何在QTreeView中选择上一行?

来自分类Dev

如何从 TensorFlow 的 SparseTensor 中选择一行?

来自分类Dev

使用php从一个表中选择一行时向另一表中添加行

来自分类Dev

每当按下按钮时,如何在 Qt tableView 中自动选择下一行?

来自分类Dev

在一行SQL中选择行对

来自分类Dev

当在同一行、不同单元格中选择特定值时,Google 脚本仅在单元格中插入一次当前日期

来自分类Dev

选择下一行时,清除先前选择的表行

Related 相关文章

  1. 1

    如何从MVVM的ViewModel中的datagrid中选择一行?

  2. 2

    在 p:dataTable 中选择一行时如何查询字段?

  3. 3

    当多个用户在Gridview中选择同一行时,出现Java脚本弹出框

  4. 4

    在角度 ui-grid 中选择一行时仅获取可见列

  5. 5

    如何选择仅在SQL中返回多行时返回第一行

  6. 6

    在DataGridView C#中选择一行时选择一个单元格

  7. 7

    从html表中选择一行,并在单击按钮时发送值

  8. 8

    从html表中选择一行(突出显示),并在单击按钮时发送值

  9. 9

    从html表中选择一行(突出显示),并在单击按钮时发送值

  10. 10

    在同一行中选中选择框时如何自动在复选框中选择

  11. 11

    当我使用休眠类在MySQL中选择一行时,它会自动进行更新

  12. 12

    在表格中选择下一行时,更新电子表格侧栏中的值

  13. 13

    WPF DataGrid - 如何在行编辑时显示一行中的按钮(检测编辑模式)?

  14. 14

    单击装订线左侧时如何在 SynEdit 中选择一行?

  15. 15

    如何从任何hstore值中选择一行?

  16. 16

    如何以编程方式在QTreeview中选择一行?

  17. 17

    如何从包括中选择最后一行

  18. 18

    如何快速从tableview的每个部分中选择一行?

  19. 19

    如何在SQL中选择后一行

  20. 20

    如何在QTreeView中选择上一行?

  21. 21

    AngularJS:如何基于ID从数组中选择一行

  22. 22

    如何根据代码的键值在gridview中选择一行?

  23. 23

    如何在QTreeView中选择上一行?

  24. 24

    如何从 TensorFlow 的 SparseTensor 中选择一行?

  25. 25

    使用php从一个表中选择一行时向另一表中添加行

  26. 26

    每当按下按钮时,如何在 Qt tableView 中自动选择下一行?

  27. 27

    在一行SQL中选择行对

  28. 28

    当在同一行、不同单元格中选择特定值时,Google 脚本仅在单元格中插入一次当前日期

  29. 29

    选择下一行时,清除先前选择的表行

热门标签

归档