Триггер данных не работает в 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 (), чтобы сообщить представлению, что значение свойства изменилось