2
我想創建一個類型爲ObservableCollection的附加屬性<通知>並將其綁定到DataContext上的同一類型的屬性。綁定到ObservableCollection附加屬性
目前我有:
internal static class Squiggle
{
public static readonly DependencyProperty NotificationsProperty = DependencyProperty.RegisterAttached(
"Notifications",
typeof(ObservableCollection<Notification>),
typeof(TextBox),
new FrameworkPropertyMetadata(null, NotificationsPropertyChanged, CoerceNotificationsPropertyValue));
public static void SetNotifications(TextBox textBox, ObservableCollection<Notification> value)
{
textBox.SetValue(NotificationsProperty, value);
}
public static ObservableCollection<Notification> GetNotifications(TextBox textBox)
{
return (ObservableCollection<Notification>)textBox.GetValue(NotificationsProperty);
}
...
}
用下面的XAML:
<TextBox
x:Name="configTextBox"
Text="{Binding Path=ConfigText, UpdateSourceTrigger=PropertyChanged}"
AcceptsReturn="True"
AcceptsTab="True"
local:Squiggle.Notifications="{Binding Path=Notifications}"/>
不幸的是,當我真正運行此我得到一個異常說明:
A '綁定'不能在'TextBox'集合中使用。 '綁定'只能在DependencyObject的DependencyProperty上設置。
這似乎只所以它看起來像WPF試圖結合這種類型的屬性時,並在過程中感到困惑做一些神奇的是,當附加屬性的類型的ObservableCollection的問題。任何人都知道我需要做些什麼才能使它工作?
而且我認爲所有者是你想將屬性應用到的依賴對象的類型:)。謝謝,你的解決方案完美無缺。 – 2010-05-02 06:52:26