在构建两个网格中的单选逻辑时需要帮助
本文关键字:单选逻 帮助 网格 构建 两个 | 更新日期: 2023-09-27 18:20:51
我有两个网格,我想一次只选择一个选定的项目,即如果a和B是两个网格那么如果我从a中选择,那么从B中选择的项目应该被取消选择,并且a项目应该在同一次点击中选择,对于B也是如此。
这些是我的网格,我在上面绑定了更改选择的同一事件处理程序。
CurrentServiceGridView.SelectionChanged +=CurrentServiceGridView_SelectionChanged;
AllServicesGridView.SelectionChanged += CurrentServiceGridView_SelectionChanged;
这就是我处理事情的方式。
private void CurrentServiceGridView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (((Windows.UI.Xaml.Controls.ListViewBase)(sender)).Name == CurrentServiceGridView.Name)
{
AllServicesGridView.SelectedItem = null;
}
else
{
CurrentServiceGridView.SelectedItem = null;
}
}
请帮帮我。
您应该处理两个网格的点击事件,在这些事件中,您应该检查活动控件,例如
if(this.ActiveControl==yourgrid1)
//yourgrid2.selecteditem=null
我希望它能有所帮助。
我是这样做的
private void CurrentServiceGridView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (((Windows.UI.Xaml.Controls.ListViewBase)(sender)).Name == CurrentServiceGridView.Name)
{
if (AllServicesGridView.SelectedItem != null)
{
AllServicesGridView.SelectionChanged -= CurrentServiceGridView_SelectionChanged;
AllServicesGridView.SelectedItem = null;
AllServicesGridView.SelectionChanged += CurrentServiceGridView_SelectionChanged;
}
}
else
{
if (CurrentServiceGridView.SelectedItem != null)
{
CurrentServiceGridView.SelectionChanged -= CurrentServiceGridView_SelectionChanged;
CurrentServiceGridView.SelectedItem = null;
CurrentServiceGridView.SelectionChanged += CurrentServiceGridView_SelectionChanged;
}
}
}