У меня есть свойство экземпляра CLR, статический PropertyPath, который указывает на свойство экземпляра, и привязка xaml, которая использует статический PropertyPath напрямую, вот так:
NB: GetPropertyPath - это просто метод, который возвращает основанный на propertypathдля данного выражения linq из имени члена.
<Code>
public static PropertyPath MyPropertyPath = GetPropertyPath(p=> p.MyProperty);
private object _myProperty;
public object MyProperty
{
get{ return _myProperty;}
set
{
_myProperty = value;
OnPropertyChanged(MyPropertyPath.Path);
}
}
</Code>
Затем с MyViewModel в качестве datacontext стандартным способом mvvm привязка xaml задается как:
<Code>
{Binding Path={x:Static myNamespace:MyViewModel.MyPropertyPath}}
</Code>
Этот подход имеет большое преимуществопоскольку код не использует никаких ссылок, которые не проверяются как часть сборки.Если что-то изменилось в коде модели представления, ошибка привязок xaml при сборке, если они больше не верны.
Мой вопрос заключается в том, знает ли кто-нибудь о каких-либо негативных воздействиях на производительность, которые этот подход мог бы оказать?