我有一個CLR實例屬性,靜態的PropertyPath指向實例屬性和XAML綁定直接使用靜態的PropertyPath像這樣:Wpf綁定路徑對性能的影響= {x:Static <propertypath>}?
NB:GetPropertyPath僅僅是其返回基於給定的PropertyPath的方法從成員名稱中獲得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時尚的DataContext XAML綁定給出如下:
{Binding Path={x:Static myNamespace:MyViewModel.MyPropertyPath}}
這種方法具有重大的利益爲代碼不使用未檢查的部分的任何引用的構建。如果viewmodel代碼中的某些內容發生更改,則xaml會在構建時發生綁定錯誤(如果它們不再正確)。
我的問題是,任何人都知道這種方法可能有任何負面的性能影響?