我是WP7开发的新手,所以绑定对我来说仍然有些陌生。我有一个StackPanel,我已经使用TwoWay绑定设置DataContext来编辑给定的记录。但是,在“表单”中,我有一个ListPicker,我想用查找表中的可能值填充。
目前我已经创建了一个DataTemplate并设置了ListPicker的ItemsSource属性。由于DataTemplate中唯一的TextBlock绑定到ItemsSource数据上下文,我如何将ListPicker的SelectedItem绑定到StackPanel的数据上下文?
答案 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)
检查所有答案,看看其中一个答案是否有帮助。