Использование DataTrigger (правка) в стиле изображения (/ правка) при условии изменения:
<Button Height="69" HorizontalAlignment="Left" Margin="-2,0,0,0" Name="toggleBroadcast" VerticalAlignment="Top" Width="64" Grid.Row="1" Opacity="0.5" Click="changeBroadcastState_Click">
<Image>
<Image.Style>
<Style TargetType="{x:Type Image}">
<Setter Property="Source" Value="Images\playIcon.png" />
<Style.Triggers>
<DataTrigger Binding="{Binding myCondition}" Value="True">
<Setter Property="Source" Value="Images\stopIcon.png" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</Button>
В этом случае переменная myCondition
будет логическим свойством в вашей ViewModel (или, в более общем смысле, DataContext элемента управления), что-то вроде
public bool myCondition { get { return ([whatever that condition might be]); } }
Это может также включать установщик и может быть простым автоматическим свойством. Как и в случае другого ответа MVVM, для реализации INotifyPropertyChanged
.
он будет полагаться на ViewModel.
Приятно то, что как только условие больше не выполняется, DataTrigger автоматически установит для свойства Source исходное значение.
Отказ от ответственности: У меня нет возможности проверить это прямо сейчас, поэтому возьмите это с крошкой соли и, возможно, с некоторыми усилиями по отладке ...