2013-02-21 5 views
0

В данном коде есть проблема.Свойство привязки к привязке с Relativesource

Пользовательский интерфейс имеет кнопку, которая привязана к привязке к значению свойства зависимостей. Он построен на архитектуре MVVM.

XAML выглядит следующим образом.

<Grid> 
......... 
<Button .... IsEnabled="{Binding Path=class1.class2.showbutton,RelativeSource={RelativeSource FindAncestor, AncestorType=views:view2, Mode=FindAncestor, AncestorLevel=1}}"/> 

............... < \ Сетка>

Зарегистрированное DependencyProperty выглядит следующим образом

public static readonly DependencyProperty buttonDisplay= DependencyProperty.Register("showbutton", typeof(bool), typeof(class2), new PropertyMetadata((bool)false)); 

public bool showbutton 
{ 
    get { return (bool)GetValue(buttonDisplay); } 
    set { SetValue(buttonDisplay, value); } 
} 

Обновление называется через

private void UpdateProperties() 
{ 
    showbutton= User.CheckPrivilege("ShudEnable");  } 
} 

кнопка не активируется в соответствии с дисплеем. В чем проблема? Можно ли программно изменить значение шоу-шоу. Если да, то как?

+0

Не могли бы вы показать свой код ViewModel? – ethicallogics

+0

hmmm .. его довольно сложный и огромный. он имеет вложенные модели представлений, которые получены из базы viewmodel. Что именно вам нужно? – user1687824

+0

showbutton Код Proeprty. – ethicallogics

ответ

1

Попробуйте этот DataContext.class1.class2.showbutton - Убедитесь, что путь привязки верен. Вы можете проверить ошибки привязки с помощью утилиты snoop. http://snoopwpf.codeplex.com/

+0

Я ловко попробую это и обновит вас .. – user1687824

+0

Установлен Datacontext. поэтому его не из-за этого я думаю ... – user1687824

Смежные вопросы