v3rd16r15 Ответов: 0

Триггер данных не работает в WPF


Привет,
Я пытаюсь использовать триггер данных в WPF, который срабатывает только тогда, когда рабочее состояние либо "работает", либо "работает - не драйвер". Как это происходит сейчас, передний план отображается красным цветом для всех статусов, он не попадает в логическое значение в ViewModel. Я подозреваю, что проблема заключается в том, что строка текста не читается, поэтому XAML не различает различные рабочие статусы. Любые идеи будут оценены по достоинству.

Что я уже пробовал:

код XAML
<pre>  <TextBlock.Style>
                        <Style TargetType= "TextBlock">
                            <Setter Property="Foreground" Value="Red" />
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding IsWorkingStatus}" Value="False">
                                    <Setter Property="Text" Value="True" />
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </TextBlock.Style>




модель представления
public Boolean HRStatus { get; set; }




public Boolean IsWorkingStatus
    {
        get
        {
            return HRStatus.ToString().Equals("Working") || HRStatus.ToString().Equals("Working - Non Driver");


        }
    }

George Swan

Похоже, что вы вызываете ToString() в bool, делая это, вы возвращаете только "True" или "False"

v3rd16r15

ааааа только сейчас заметил, что также. Спасибо, Джордж, я посмотрю на это.

George Swan

Если вы привязываетесь к IsWorkingStatus, свойство должно иметь сеттер и вызывать OnPropertyChanged (), чтобы сообщить представлению, что значение свойства изменилось

0 Ответов