私はWPFとMVVMライトフレームワークを使用しています(そして私はそれらを使用するのが初めてです)
状況は次のとおりです。
(データベースからロードされた) アイテムのリストを表示するコンボボックスがあり、コンボボックスにアイテムのタイトルを表示するために DisplayMemberPath を使用しています。
同じ GUI で、ユーザーはテキスト ボックスで項目のタイトルを変更できます。「保存」ボタンを使用すると、ユーザーはデータをデータベースに保存できます。
私がやりたいのは、ユーザーが「保存」をクリックすると、コンボボックスのアイテムのタイトルも更新され、その時点で新しい値が表示されることです。しかし、私はそれを行う方法がわかりません...
私の実装に関するいくつかの詳細:
MainWindow.xaml
<ComboBox ItemsSource="{Binding SourceData}" SelectedItem="{Binding SelectedSourceData,Mode=TwoWay}" DisplayMemberPath="Title" />
<TextBlock Text="{Binding SelectedDataInTextFormat}"/>
MainWindow.xaml.cs
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Closing += (s, e) => ViewModelLocator.Cleanup();
}
}
MainViewModel.xaml
public class MainViewModel:ViewModelBase
{
public ObservableCollection<Foo> SourceData{get;set;}
public Foo SelectedSourceData
{
get{return _selectedFoo;}
set{_selectedFoo=value; RaisePropertyChanged("SelectedSourceData"); }
}
public string SelectedDataInTextFormat
{
get{return _selectedDataInTextFormat;}
set{_selectedDataInTextFormat=value; RaisePropertyChanged("SelectedDataInTextFormat");
}
}
誰かがこれについて私を助けてくれれば幸いです。
ご協力いただきありがとうございます。
ロマン