2011-04-08 147 views
0

我创建自己的自定义绑定类,并增加了一个属性,它:WPF自定义绑定集合非依赖属性

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

public class BindingGroupCollection : ObservableCollection<BindingGroup> { } 

在我的XAML中第i类中声明的对象和集合:

<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}}}"/> 

使用,但我得到一个错误的目标不是广告永远的对象。任何帮助?

回答

2

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

然而,在你的情况,你不需要绑定,就可以直接使用了StaticResource

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

其实我已经尝试过这一点。然而,我得到一个错误:“未知属性'ValidationResultGroups'类型'MS.Internal.Markup.MarkupExtensionParser + UnknownMarkupExtension'在解析标记扩展时遇到”。 – Sys 2011-04-08 12:22:11