在 WPF 中处理 GridControl 行选择事件的好方法是什么?
What is a good way to handle GridControl Row Selection events in WPF?
因此,在 GridControl 中,用户 selects 他想查看哪个会话,然后按 "See Gallery",这会将应用程序带到 "next" 视图 - 图库,然后将另一个 GridControl 添加到 select 该图库中的哪个图像,然后按 "See Images" 继续等等。
我正在尝试摆脱所有 "Buttons" 并让网格中的用户 "row selection" 本身充当下一个视图的事件处理程序(会话->图库->图像-> .. ETC)。这将在每个视图上节省一个步骤 "Selecting instead of selecting + clicking"
我使用了 属性 sessionGrid.SelectedItemChanged
并按如下方式创建了它的事件处理程序,并放置了与 OnClick Gallery Button 相同的事件处理程序:
private void sessionGrid_SelectedItemChanged(object sender, DevExpress.Xpf.Grid.SelectedItemChangedEventArgs e)
{
SeeGalleryClicked(this, new EventArgs());
}
这正是我想要的。在 Grid-Row selection 上,应用程序切换到该特定行的下一个视图。但是,如果用户返回 select 同一行,它将不会转到下一个视图,因为 "Selected Item did not change"。
如果可以的话,我会用这样的东西:
sessionsUserControl.sessionGrid.SelectedItemChanged = ??;
重置网格中的 "selection" 会很棒。但是有什么办法吗?
谢谢
您可以使用数据绑定。将 SelectedItem/SelectedIndex 属性 绑定到代码隐藏中的 属性。
每当用户 select 一行时,您都会收到通知。
您可以通过为此 属性 设置不同的值来 select 不同的行。
已使用 TouchDown/MouseDown 事件处理程序修复此问题,如下所示:
private void sessionGrid_TouchDown(object sender, TouchEventArgs e)
{
GalleryButtonClicked(this, new EventArgs());
}
现在完美了。
因此,在 GridControl 中,用户 selects 他想查看哪个会话,然后按 "See Gallery",这会将应用程序带到 "next" 视图 - 图库,然后将另一个 GridControl 添加到 select 该图库中的哪个图像,然后按 "See Images" 继续等等。
我正在尝试摆脱所有 "Buttons" 并让网格中的用户 "row selection" 本身充当下一个视图的事件处理程序(会话->图库->图像-> .. ETC)。这将在每个视图上节省一个步骤 "Selecting instead of selecting + clicking"
我使用了 属性 sessionGrid.SelectedItemChanged
并按如下方式创建了它的事件处理程序,并放置了与 OnClick Gallery Button 相同的事件处理程序:
private void sessionGrid_SelectedItemChanged(object sender, DevExpress.Xpf.Grid.SelectedItemChangedEventArgs e)
{
SeeGalleryClicked(this, new EventArgs());
}
这正是我想要的。在 Grid-Row selection 上,应用程序切换到该特定行的下一个视图。但是,如果用户返回 select 同一行,它将不会转到下一个视图,因为 "Selected Item did not change"。
如果可以的话,我会用这样的东西:
sessionsUserControl.sessionGrid.SelectedItemChanged = ??;
重置网格中的 "selection" 会很棒。但是有什么办法吗?
谢谢
您可以使用数据绑定。将 SelectedItem/SelectedIndex 属性 绑定到代码隐藏中的 属性。
每当用户 select 一行时,您都会收到通知。
您可以通过为此 属性 设置不同的值来 select 不同的行。
已使用 TouchDown/MouseDown 事件处理程序修复此问题,如下所示:
private void sessionGrid_TouchDown(object sender, TouchEventArgs e)
{
GalleryButtonClicked(this, new EventArgs());
}
现在完美了。