Значение триггера данных Wpf может быть универсального типа?

#c# #wpf #visual-studio-2010 #binding

#c# #wpf #visual-studio-2010 #привязка

Вопрос:

У меня есть триггер данных wpf, как показано ниже.

    <DataTrigger Value="0" Binding="{Binding Path=TestDirection,Mode=OneWay}">
                        <DataTrigger.EnterActions>
                            <BeginStoryboard Storyboard="{StaticResource LastDonePrice_UpTickDirection_Blink}"/>
                        </DataTrigger.EnterActions>
                    </DataTrigger>
                    <DataTrigger  Value="2" Binding="{Binding Path=TestDirection,Mode=OneWay}">
                        <DataTrigger.EnterActions>
                            <BeginStoryboard Storyboard="{StaticResource LastDonePrice_DownTickDirection_Blink}" />
                        </DataTrigger.EnterActions>
                    </DataTrigger>
  

TestDirection — это свойство универсального типа, возвращающее ‘0’ или ‘2’. Я хочу анимировать раскадровку на основе этих значений. Но сейчас это не работает. Пожалуйста, сообщите. Спасибо.

Комментарии:

1. взгляните на последний пример msdn.microsoft.com/en-us/library /…

2. В целом проблем нет. Можете ли вы предоставить более подробную информацию?

3. Запускается ли событие PropertyChanged для TestDirection?

4. @IVerzin Да, триггер данных работает. просто wcf не передает 0 и 2 в мой класс привязки. Извините, что беспокою всех.

Ответ №1:

Вы можете написать преобразователь значений при привязке «TestDirection», и преобразователь значений вернет логическое значение, если этот универсальный тип равен 0 или 2….

что-то вроде этого…

 <DataTrigger  Value="true" Binding="{Binding Path=TestDirection,Converter={StaticResource <Converter>},Mode=OneWay}">