1

テンプレートファイルに次のような単純なリストボックスがあります。

<local:ProcessVisualization x:Key="ProcessVisualization"/>

<ListBox Grid.Column="1" 
    Grid.Row="1" 
    ItemsSource="{Binding Source={StaticResource ResourceKey=ProcessVisualization}, Path=Instance.TestListItems}" 
    SelectedItem="{Binding Source={StaticResource ResourceKey=ProcessVisualization}, Path=Instance.SelectedTestListItem, Mode=TwoWay}">
</ListBox>

次に、ProcessVisualizationクラスに次のものがあります。

private ObservableCollection<string> _testListItems;
private string _selectedTestListItem;
private static readonly ProcessVisualization _processVisualization = new ProcessVisualization();

public ObservableCollection<string> TestListItems
{
    get { return _testListItems; }
    set
    {
        _testListItems = value;
        NotifyPropertyChanged("TestListItems");
    }
}

public string SelectedTestListItem
{
    get { return _selectedTestListItem; }
    set
    {
        _selectedTestListItem = value;
        NotifyPropertyChanged("SelectedTestListItem");
    }
}

public static ProcessVisualization Instance
    {
        get { return _processVisualization; }
    }

文字列のリストをTestListItemsに割り当てるメソッドを実行すると、それらはリストボックスに正しく表示され、コードからSelectedTestListItemを問題なく設定できます。しかし、ユーザーがリストボックスから選択しようとしても、ProcessVisualizationクラスのプロパティの更新に戻らないようです。誰かが私が間違ったことを知っていますか?

4

0 に答える 0