0
我试图将我的WPF按钮的Content属性以编程方式绑定到动态资源(业务对象),我以前使用给定路径定义过。到目前为止,我试过,没有运气以下方法:如何以编程方式将按钮内容绑定到动态资源
我的业务对象定义为资源:
<Window.Resources>
<env:PartyType x:Key="myParty" FullName="JOHN"/>
</Window.Resources>
我试着像这样以编程方式绑定到我的按钮:
Binding binding = new Binding();
binding.Source = this.Resources["myParty"];
binding.Path = new PropertyPath("FullName");
btn.SetBinding(ContentProperty, binding);
但很显然,当我序列化到XAML时,它试图序列化整个Party对象,而我只想保留对我的资源的绑定引用,所以此选项不起作用。 我的第二个选择是:
btn.SetResourceReference(ContentProperty,"myParty");
这被序列化到XAML为:
<av:Button Content="{av:DynamicResource myParty}"/>
但我不知道如何指定我的路径=全名,以便它可以显示Party.FullName
而不是Party.Type()
。
有关如何实现此目的的任何想法?
由于提前,
谢谢西蒙,那部分工作正常。现在,我决定在父控件(Canvas)的XAML中设置DataContext。一切工作正常,但是当我加载序列化的XAML时,它不显示绑定的数据,对它有什么想法? – 2012-03-30 15:14:23
@AdolfoPerez,序列化的XAML是否包含绑定?我唯一的猜测是绑定没有被序列化。 – Terkel 2012-03-30 15:38:29
是的,Serialized XAML包含如下绑定:'
2012-03-30 16:55:55