0
我有一个绑定到模型的WPF Datagrid。WPF Datagrid OnPropertyChanged导致SelectionChanged事件
模型里面我有一个属性定义为
public String status
{
get
{
return m_status;
}
set
{
m_status = value;
OnPropertyChanged("status");
}
}
此属性通知通过OnPropertyChanged变化的网格。
我也处理SelectionChanged事件触发不同的活动。
SelectionChanged="gridSongs_SelectionChanged"
private void gridSongs_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Console.WriteLine("gridSongs_SelectionChanged " + sender.ToString());
}
在测试过程中这一点,我已经注意到,每次我在代码更改属性“状态”时间网格自动更新(这是我想要的),而且还激发了SelectionChanged事件也是如此。
当我从代码更改模型时,是否有任何方法可以阻止事件发生,但是当用户单击网格中的某个项目时让它通过?
也许我可以使用不同的事件手动选择网格中的项目?
非常感谢。
谢谢谢里登。那可行。我实际上实现了另一个事件“mouseup”,并移动了我在SelectionChanged事件中的逻辑。这似乎也适用。我只需要一些额外的逻辑来检查一行是否被选中,但我也喜欢你的版本。会试一试。 – Mozzak