#wpf #xaml
#wpf #xaml
Вопрос:
<Image Source="C:UsersmypcDesktopGUILektion 13WpfApp112-LightOn.bmp" Canvas.Left="53" Canvas.Top="81" Name="LightOn"></Image>
<ToggleButton Height="47" Canvas.Left="320" Canvas.Top="228" Width="47">
<ToggleButton.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter Property="Content" Value="{DynamicResource LightOn}"/>
</Trigger>
</ToggleButton.Triggers>
</ToggleButton>
проблема в том, что по какой-то причине он не может распознать «IsChecked», и этот код разрешено записывать только в окне XAML, поэтому я не могу использовать обработчики событий в mainwindow.cs. Я не могу понять, почему я не могу изменить свойство на content. Весь этот код размещен на холсте
Ответ №1:
FrameworkElement.Triggers
Коллекция может содержать только EventTriggers. Вместо этого используйте стиль:
<ToggleButton Height="47" Canvas.Left="320" Canvas.Top="228" Width="47">
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content" Value="{DynamicResource LightOn}"/>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>