1
如果有人能夠給我一些關於我遇到的非常惱人的問題的指示器,我將不勝感激 - 我會瘋狂地嘗試做這項工作,因爲我確信必須有一個簡單的解決方案,但我不能看見!WPF - 如何使用listview中的當前selecteditem更新文本框?使用MVVM!
由於我在此發佈的上一個問題的非常有幫助的答案,我試圖在WPF中使用MVVM方法。
我有在一個頁面列表視圖結合在視圖模型一個ObservableCollection & ListView的選擇項綁定到視圖模型的屬性稱爲SelectedEntity:
<Listview Name="listview" ItemsSource="{Binding Entities}" SelectedItem="{Binding SelectedEntity, Mode=TwoWay}">
在不同的網頁我有在視圖模型綁定到SelectedEntity的名稱屬性的文本框:
<TextBlock Text="{Binding Path=SelectedEntity.Name}" />
在視圖模型的代碼是:
Private Entity selectedEntity;
Public Entity SelectedEntity
{
get
{
return selectedEntity;
}
set
{
if (selectedEntity != value)
{
selectedEntity = value;
RaisePropertyChanged("SelectedEntity");
}
}
RaisePropertyChanged是一種實現INotifyPropertyChanged的方法。
當我在列表視圖中選擇的項目發生變化時,我想要做的就是更新文本塊,但它不會?我錯過了真正明顯的東西嗎?
非常感謝您給我的任何指導!
,他們都共享`ViewModel`對象的同一個實例嗎?因爲你的代碼看起來足夠好工作。根據目前的信息,很難找到可能出現的問題。 – decyclone 2010-12-22 11:15:08
您是在兩個頁面中使用相同的ViewModel還是將ViewModel的新實例傳遞給每個頁面? – 2010-12-22 11:45:56