我对xam数据网格中的字段选择器有一个小问题。我需要做的是将选中/取消选中行为从双击更改为单击,这是在这里完成的:
<igWPF:LabelPresenter.InputBindings>
<MouseBinding Command="{x:Static igWPF:FieldChooserCommands.ToggleVisibility}" MouseAction="LeftDoubleClick" />
</igWPF:LabelPresenter.InputBindings>
如果我将鼠标操作从左键双击更改为左键单击,则不需要少单击一次,而是需要多单击一次:两次用于选择字段,一次用于选中/取消选中。
对此有什么可做的吗?我做错了什么吗?
找到了解决这个问题的方法,问题是鼠标左键单击操作已经被其他人使用了。
为了解决这个问题,我们需要删除或注释我上面发布的样式的部分,并为标签演示者创建一个行为。
public class OneClickFieldVisibility : Behavior<LabelPresenter>
{
private LabelPresenter Presenter { get { return this.AssociatedObject; } }
protected override void OnAttached()
{
Presenter.PreviewMouseLeftButtonDown -= Presenter_PreviewMouseLeftButtonDown;
Presenter.PreviewMouseLeftButtonDown += Presenter_PreviewMouseLeftButtonDown;
}
void Presenter_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var fieldChooser = (FieldChooser)Infragistics.Windows.Utilities.GetAncestorFromType(Presenter, typeof(FieldChooser), false);
fieldChooser.ExecuteCommand(FieldChooserCommands.ToggleVisibility, Presenter.Field);
e.Handled = true;
}
}