StackPanel有一个DataContext,如何用另一个选项值填充ListPicker?

时间:2011-05-13 21:24:06

标签: data-binding windows-phone-7 datacontext

我是WP7开发的新手,所以绑定对我来说仍然有些陌生。我有一个StackPanel,我已经使用TwoWay绑定设置DataContext来编辑给定的记录。但是,在“表单”中,我有一个ListPicker,我想用查找表中的可能值填充。

目前我已经创建了一个DataTemplate并设置了ListPicker的ItemsSource属性。由于DataTemplate中唯一的TextBlock绑定到ItemsSource数据上下文,我如何将ListPicker的SelectedItem绑定到StackPanel的数据上下文?

2 个答案:

答案 0 :(得分:1)

您分配给StackPanel的DataContext的对象必须公开适当的属性,例如:

class MyData
{
    public Data { get; set; }
    public Selected { get; set; }
}

然后你需要绑定ListPicker的ItemsSource:ItemsSource={Binding Data}和ListPicker的SelectedItem:SelectedItem={Binding Selected}

如果希望ListPicker在更改MyData的Selected属性时做出反应,则需要MyData类来实现接口IObservable。对于Data属性也是如此,此集合必须在状态发生变化时通知,因此请将其设置为类型:ObservableCollection<ElemType>

答案 1 :(得分:0)

请检查:Using the parent's DataContext (WPF - Dynamic Menu Command Binding)

检查所有答案,看看其中一个答案是否有帮助。