WPF自定义绑定集合到非依赖项属性

时间:2011-04-08 10:10:46

标签: wpf binding dependency-properties

我已经创建了自己的自定义绑定类并为其添加了一个属性:

public BindingGroupCollection BindingGroups
{
    get { return validationResultGroup; }
    set { validationResultGroup = value; }
}

public class BindingGroupCollection : ObservableCollection<BindingGroup> { } 

在我的xaml类中,我声明了对象和集合:

<local:BindingGroup x:Key="BG1"/>
<local:BindingGroup x:Key="BG2"/>

<local:BindingGroupCollection x:Key="BindingGroups1">
   <StaticResourceExtension ResourceKey="BG1"/>
   <StaticResourceExtension ResourceKey="BG2"/>
</local:BindingGroupCollection>

我想在我的绑定中使用它,例如:

<TextBox Text="{local:CustomBinding BindingGroups={Binding Source={StaticResource BindingGroups1}}}"/>

但是我得到的错误是目标不是依赖对象。有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

你不能这样做,因为Binding不是DependencyObject,所以它不能有依赖属性。

但是,在您的情况下,您不需要绑定,您可以直接使用StaticResource

<TextBox Text="{local:CustomBinding BindingGroups={StaticResource BindingGroups1}}"/>