Привязка к проблеме CustomControls - PullRequest
0 голосов
/ 02 января 2012

У меня есть пользовательский элемент управления, который наследуется от TextBox со свойством зависимости, называемым State.Состояние enum с четырьмя параметрами {Несоответствие, Ожидание, ОК, Нет} *

Общий вид выглядит следующим образом:

<Style TargetType="{x:Type local:CustomTextBox}">
    <Style.Triggers>
        <Trigger Property="State" Value="Mismatch">
            <Setter Property="Background" Value="{StaticResource MismatchBrush}"/>
        </Trigger>
    </Style.Triggers>

    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type local:CustomTextBox}">
                <Border Background="{TemplateBinding Background}"
                        BorederBrush="{TemplateBinding BorederBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}"
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>

У меня есть класс Named MyData со свойствами DataState, Sent, Получено каждое свойствореализовать INotifyPropertyChanged.

В моем главном окне у меня есть следующая строка в xaml:

<custom:CustomTextBox State="{Binding BindingData.DataState}" Text="{Binding BindedData.Sent}"/>

, а в моей модели представления у меня есть поле типа MyData, которое называется BindedData, и когда пользователь отправляет некоторыеПередайте данные об изменении BindedData.Sent, а затем, если произойдет какая-то логика, изменение состояния BindedData на Несоответствие и фон customTextBox должны быть другого цвета.

Проблема заключается в том, что фон не меняет своего значения, связывание состоянияне работает, а также не работает привязка текста.

Я знаю, как работает привязка и как она работает для меня в других случаях (не с пользовательскими элементами управления), и здесь я также проверил отладку и увидел, что все идет хорошотак я сделал что-то не так с customcontrol?

Заранее спасибо!

1 Ответ

0 голосов
/ 02 января 2012

может быть, вы снова установите фон из главного окна? Я попытался скопировать ваш код, и он работает отлично, если я не установил фон из главного окна (так как он переопределяет установщики стилей)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...