У меня сейчас какая-то ужасная проблема с моим приложением WPF ...
У меня есть пользовательский элемент управления UserControl, используемый для редактирования деталей компонента.Он должен начинаться с неактивности и становиться включенным, как только пользователь выберет компонент для редактирования.
Проблема в том, что свойство IsEnabled даже не меняется.
Вот мой код:
<my:UcComponentEditor Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
IsEnabled="{Binding EditorEnabled}"
DataContext="{Binding VmComponent}" />
EditorEnabled является свойством в моей ViewModel (VmComponent) и по умолчанию имеет значение false, становится истинным, когда пользователь выбрал компонент или создал его
Только для записи, вмоя ViewModel:
private Boolean _editorEnabled = false;
public Boolean EditorEnabled
{
get { return _editorEnabled; }
set
{
_editorEnabled = value;
OnPropertyChanged("EditorEnabled");
}
}
Когда я пытаюсь запустить свое приложение, UserControl запускается ... включен.Я везде добавлял точки останова, EditorEnabled с самого начала ложен.
Я также сделал ужасную глупость, чтобы попытаться выяснить, что происходит: я создал конвертер (настолько полезный - преобразование логического значения в логическое -эх), установите для него точку останова и ... код никогда не достигается.
<my:UcComponentEditor Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
IsEnabled="{Binding EditorEnabled, Converter={StaticResource BoolConverter}}"
DataContext="{Binding VmComponent}" />
Это, вероятно, означает, что свойство isEnabled никогда не устанавливается, поскольку конвертер никогда не достигается.
Видите ли вы какие-либо проблемы там?Я начал работать в WPF около недели назад, и, возможно, я упустил что-то важное ...
Большое спасибо за ваше время: -)