2010-03-19 1 views
3

У меня есть объект в коде:Как установить привязки в XAML для моей собственной переменной

public class UserLogin 
    { 
     bool _IsUserLogin = false; 

     public bool IsUserLogin 
     { 
      get { return _IsUserLogin; } 
      set { _IsUserLogin = value; } 
     } 

     public UserLogin() 
     { 
      _IsUserLogin = false; 
     } 
    } 
    .... 
    public static UserLogin LoginState; 
    ..... 
    LoginState = new UserLogin(); 

И мне нужно, чтобы установить привязки к Button.IsEnabled собственности. То есть когда пользователь еще не зарегистрирован - некоторые кнопки отключены. Как это можно сделать? Я стараюсь в XAML:

<Button DataContext="LoginState" IsEnabled="{Binding Path=IsUserLogin}"> 

, но это dos't работу и OutputWindow говорит: System.Windows.Data Error: 39: ошибка BindingExpression путь: свойство 'IsUserLogin' не найден на 'объект'. Я также попытался установить свойство Button.DataContext для LoginState в коде, но имеет XamlParseException. Я также прочитал этот [WPF - Binding in XAML to an object created in the code behind, но все еще не могу установить привязки.

[1]: WPF - Binding in XAML to an object created in the code behind. Пожалуйста помоги!

ответ

1

Вы получаете исключение XamlException, поскольку компилятор не находит (XAML) -Element с именем «LoginState».

Установите DataContext кнопки в процедурный код. Тогда это должно сработать.

+0

Я идиот, я пытался установить DataContext кнопки перед InitializeComponent(); Спасибо! – Victor

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