、としてあなたのListBoxに名前を追加し、これを試してみてください。ビュー要素にバインドすることによって所望の機能を達成することに焦点を当てた別の解決策として、既に1つの選択肢が提供されている。もう一つの選択肢があります。
選択した項目が変更されたことを認識できません。 INotifyPropertyChanged
を使用してに見てあなたが繰り返し機能
public abstract class ViewModelBase : INotifyPropertyChanged {
public event PropertyChangedEventHandler PropertyChanged = delegate { };
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) {
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
をカプセル化するために、ベースのViewModelを作成することができるモデルが結合時にビューが変更を意識するようにするために、この基本クラスから継承するビューを持っています。
public class ItemsViewModel : ViewModelBase {
public ItemsViewModel() {
items = new ObservableCollection<MemEntity>();
}
private MemEntity selectedItem;
public MemEntity SelectedItem {
get { return selectedItem; }
set {
if (selectedItem != value) {
selectedItem = value;
OnPropertyChanged(); //this will raise the property changed event.
}
}
}
public ObservableCollection<MemEntity> items { get; set; }
}
ビューは現在、これまでSelectedItem
プロパティの変更承知しているであろうし、それに応じてビューを更新します。
選択したアイテムが変更されたことを認識できません。 'INotifyPropertyChanged'を参照してください。 – Nkosi
私は参照してください。私はインターフェイスを実装し、イベントを発生させます。 – Pelle
MVVMを適用していますか? – Nkosi