Такое поведение кажется мне невероятно странным, и я предполагаю, что делаю что-то не так, чтобы понять это.У меня есть ContentControl
, который использует DataTemplete для визуализации TabControl.Я хочу, чтобы изображение отображалось при отсутствии открытых вкладок и скрывалось при его наличии.Но вот проблема:
<Image Name="image1" Stretch="Uniform" Visibility="Hidden" Source="/Affinity;component/Images/affinity_logo.png">
<Image.Style>
<Style TargetType="Image">
<Style.Triggers>
<DataTrigger Binding="{Binding Items.Count, ElementName=tabcontrolworkspaces}"
Value="0">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
Это не работает ... вроде.
Я проверил это на Visiblity и Margin (просто чтобы убедиться).Этот триггер изменит свойство, если только это свойство не определено в тегах Image
.Если это так, триггер не будет обновлять это свойство.Итак, если я не определяю видимость изображения, а триггер скрывает его, это работает.Проблема в том, что по умолчанию используется Visible, и триггер должен показывать его, когда значение = 0, и скрывать его в противном случае.
Почему триггер не отменяет свойства, которые явно определены?Разве это не его цель?