我有两个UserControl想要在窗口中显示。第一个UserControl的属性“SelectedItem”的值应该设置为第二个UserControl的“SelectedItem”属性。我该怎么做呢?WPF中控件的属性绑定
在我当前的代码中,在第一个UserControl属性中设置的值不会触发第二个UserControl中的更新。我为相应的用户控件/窗口附加了模型。
以下是窗口中的代码;
<MyControls:MyFirstUserControl x:Name="m_controlOne" />
<MyControls:MySecondUserControl x:Name="m_controlTwo" SelectedItem={Binding Path=SelectedItem, ElementName="m_controlOne" />
我还试图在绑定结构之上添加UpdateSourceTrigger=PropertyChanged
,但无济于事。
在MyFirstUserControl中,我实现了一个链接到名为“SelectedItem”的属性的DependencyProperty
,同样在MySecondUserControl中。我也试图在两个UserControls中实现INotifyPropertyChanged(模型也实现了它们)。
在MyFirstUserControl财产的set { }
,我试图使用OnPropertyChanged("SelectedItem")
,OnPropertyChanged(new DepedencyPropertyChangedEventArgs(...))
以及SetValue(SelectedItemProperty)
,都未能在SelectedItem属性,第二用户控制触发更新。
我错过了什么?
我想不出这是行不通的原因。也许更多的代码可能有助于阐明这个问题? – Grokys 2009-11-09 12:45:50
正如@Groky所说,查看SelectedItem属性的代码会很有帮助。 – Andy 2009-11-09 13:43:38