#c# #xaml
#c# #xaml
Вопрос:
У меня есть два RadioButton
элемента, для которых я хотел бы изменить текст на основе их IsChecked
состояния, но Visual Studio сообщает мне, что IsChecked
и Content
они не распознаны / доступны. Приведенный ниже код одинаков для обеих кнопок.
<RadioButton GroupName="{Binding CommunicatingGroupName}" IsChecked="{Binding IsCommunicating}" IsEnabled="{Binding IsActive}" FontSize="11" TextOptions.TextFormattingMode="Display" Content="ACTIVE" >
<RadioButton.Style>
<Style TargetType="{StaticResource ButtonBlue}">
<Style.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter Property="Content" Value="ACTIVE" />
</Trigger>
<Trigger Property="IsChecked" Value="false">
<Setter Property="Content" Value="STANDBY" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Content" Value="ACTIVE" />
</Trigger>
</Style.Triggers>
</Style>
</RadioButton.Style>
</RadioButton>
У меня есть ToggleButtons
в другом месте файла, которые работают с теми же <Style.Triggers>
элементами, и, насколько я знаю, должны работать одинаково для этих RadioButton
элементов. Я упускаю что-то конкретное для RadioButtons? Я перестроил, перезапустил VS и т.д., И ошибки сохраняются.
Ответ №1:
Посмотрите на эту строку:
<Style TargetType="{StaticResource ButtonBlue}">
Вы задаете целевой тип чему-то, что выглядит как style. Вероятно, вы пытались написать что-то вроде этого:
<Style TargetType="{x:Type RadioButton}" BasedOn="{StaticResource ButtonBlue}">
Комментарии:
1. Да, я ввел его с ошибкой. Эта вторая строка даже похожа на то, как выглядят другие кнопки переключения выше в файле … dangit