WPF自定义绑定集合非依赖属性
问题描述:
我创建自己的自定义绑定类,并增加了一个属性,它: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}}}"/>
使用,但我得到一个错误的目标不是广告永远的对象。任何帮助?
答
你不能这样做,因为Binding
不是DependencyObject
,所以它不能有依赖属性。
然而,在你的情况,你不需要绑定,就可以直接使用了StaticResource
:
<TextBox Text="{local:CustomBinding BindingGroups={StaticResource BindingGroups1}}"/>
其实我已经尝试过这一点。然而,我得到一个错误:“未知属性'ValidationResultGroups'类型'MS.Internal.Markup.MarkupExtensionParser + UnknownMarkupExtension'在解析标记扩展时遇到”。 – Sys 2011-04-08 12:22:11