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