У меня есть простое Button
управление, которое содержит Image
возразите как его содержание. Я хочу так устанавливает Image
непрозрачность к 0,5, когда Button
отключен для обеспечения дополнительного визуального индикатора относительно Button
состояние.
Что самый простой путь состоит в том, чтобы выполнить тот результат в XAML?Спасибо за помощь.
Используйте триггер в стиле изображения. (Было бы более естественно поместить его в стиль кнопки, но стиль кнопки не может легко повлиять на изображение по досадным техническим причинам. Это могло быть выполнено в шаблоне ControlTemplate кнопки, но это слишком много для того, что вы хочу здесь.)
<Button>
<Image Source="something.png">
<Image.Style>
<Style TargetType="Image">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.5" />
</Trigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</Button>
Обратите внимание, что здесь мы пользуемся преимуществом того факта, что изображение будет отключено, когда кнопка отключена, поэтому мы можем запускать непосредственно по собственному свойству IsEnabled изображения. В других случаях свойство Button, которое мы хотим активировать, может не быть унаследовано Image; в этом случае нам нужно будет использовать DataTrigger с FindAncestor RelativeSource для привязки к содержащей его кнопке.