我有兩個組合的'製作'和'模型',他們已將其SelectedValue屬性綁定到具有ModelID和MakeID的Vehicle對象。WPF綁定:從數據庫中重新加載連接後刷新綁定
赫雷什模型...
<ComboBox DisplayMemberPath="Description" ItemsSource="{Binding Path=ModelSpecs}" SelectedValue="{Binding Path=Vehicle.ModelID}" SelectedValuePath="ID" />
用戶可以在一個單獨的控制搜索車輛和該換出底層的汽車對象。如果您在同一個Make的車輛之間進行切換,一切正常,但是如果Make changes我離開數據庫並重新加載ModelSpec集合。組合dosnt顯示模型描述,因爲綁定需要刷新。
我目前的解決方法是在重新加載模型的方法的最後添加這個 - 它工作正常,但不是一個特別優雅的解決方案。
var modelID = ViewModel.Vehicle.ModelID;
ViewModel.Vehicle.ModelID = string.Empty;
ViewModel.Vehicle.ModelID = modelID;
基本上我只是觸發INotifyPropertyChanged的...
private string _modelID;
public string ModelID
{
get { return _modelID; }
set
{
if (_modelID == value) return;
_modelID = value;
OnPropertyChanged("ModelID");
}
}
我能想到的一對夫婦類似不雅的解決方案 - 但必須有一個更好的辦法?任何幫助感謝!
他的代碼和他的標籤建議他使用Model-View-ViewModel,這將使得這是一個禁忌。 – 2009-07-28 20:56:29