c# – WPF – 从代码隐藏/附加行为绑定到显式实现的接口属性

前端之家收集整理的这篇文章主要介绍了c# – WPF – 从代码隐藏/附加行为绑定到显式实现的接口属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从代码隐藏设置绑定到显式实现的接口属性.代码隐藏绑定的原因是绑定属性的路径只能在运行时确定.

在XAML中,可以这样绑定(在MainWindow.xaml中的示例):

<TextBox Text="{Binding (local:Iviewmodel.Property)}"/>

事实上,在代码背后的绑定以类似的方式工作(来自MainWindow.xaml.cs):

var binding = new Binding("(local:Iviewmodel.Property)");

因为WPF能够获取命名空间映射.

我的问题是,当命名空间映射不存在时(例如,在附加行为中),如何形成这样的绑定?

提前谢谢了!

解决方法

您将指定一个完整的PropertyPath:
var propertyInfo = typeof(Iviewmodel).GetProperty("Property");
var propertyPath = new PropertyPath("(0)",propertyInfo);
var binding = new Binding
{
    Path = propertyPath
};

有关上面传递给PropertyPath的语法的详细信息,请参阅PropertyPath.Path.

猜你在找的C#相关文章