Элемент «IsChecked» не распознан или недоступен. Кто-нибудь может помочь мне решить эту проблему

#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>