【发布时间】:2010-09-09 07:01:18
【问题描述】:
我有一个 CLR 实例属性、一个指向实例属性的静态 PropertyPath 和一个直接使用静态 PropertyPath 的 xaml 绑定,如下所示:
注意:GetPropertyPath 是一个简单的方法,它根据成员名称中的给定 linq 表达式返回属性路径。
public static PropertyPath MyPropertyPath = GetPropertyPath(p=> p.MyProperty);
private object _myProperty;
public object MyProperty
{
get{ return _myProperty;}
set
{
_myProperty = value;
OnPropertyChanged(MyPropertyPath.Path);
}
}
然后使用 MyViewModel 作为标准 mvvm 方式的数据上下文,xaml 绑定如下:
{Binding Path={x:Static myNamespace:MyViewModel.MyPropertyPath}}
这种方法有很大的好处,因为代码不使用任何未在构建过程中检查的引用。如果 viewmodel 代码中的某些内容发生更改,如果它们不再正确,则会在构建时出现 xaml 绑定错误。
我的问题是,有人知道这种方法可能对性能产生任何负面影响吗?
【问题讨论】:
标签: wpf data-binding xaml