将Listbox的SelectedItem绑定到静态类的实例中的属性

时间:2013-01-24 19:45:19

标签: wpf binding static-classes

我在模板文件中有一个简单的列表框,如下所示:

<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类上的属性。谁知道我做错了什么?

0 个答案:

没有答案