У меня есть приложение WPF, в котором я хочу управлять свойством IsEnabled нескольких текстовых полей в коде, установив только одно логическое значение. Поэтому я решил добавить привязку данных для свойства IsEnabled текстовых полей. Вот определение исходного объекта:
<Window.Resources>
<src:QuestionControlsState x:Key="QuestionContorlsState" IsEnabled="True"/>
</Window.Resources>
Где простой класс «QuestionControlsState» только с одним общедоступным свойством «IsEnabled». Затем я привязываю некоторые текстовые поля:
<TextBox Name="textBoxQuestion"
IsEnabled="{Binding Path=IsEnabled, Source={StaticResource QuestionContorlsState}}">
На данный момент он работает нормально, когда я меняю атрибут IsEnabled в разделе Window.Resources, привязка данных работает. Но я хочу управлять им из кода, поэтому я получаю исходный объект:
QuestionControlsState _questionControlsState = (QuestionControlsState)this.FindResource("QuestionContorlsState");
И теперь, когда я пытаюсь установить _questionControlsState.IsEnabled, состояние текстового поля не меняется, и теперь на выходе появляются предупреждения.