Я использую ниже шаблон управления для моей радио кнопки. У меня проблема с этим кодом. Заметил CheckMark не обрушивается, когда Radio Button не установлен. Любая помощь приветствуется.Проблемы с шаблоном управления WPF RadioButton
<ControlTemplate x:Key="RadioButtonControlTemplate" TargetType="{x:Type RadioButton}">
<BulletDecorator x:Name="bulletDecorator" SnapsToDevicePixels="True" Background="Transparent">
<BulletDecorator.Bullet>
<Grid Width="30"
Height="30" >
<Ellipse x:Name="Border"
Fill="{StaticResource NormalBrush}"
StrokeThickness="3"
Stroke="{StaticResource NormalBorderBrush}" />
<Ellipse x:Name="CheckMark"
Margin="9"
Fill="{StaticResource GlyphBrush}" />
</Grid>
</BulletDecorator.Bullet>
<ContentPresenter Margin="4,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left" RecognizesAccessKey="True"></ContentPresenter>
</BulletDecorator>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Visibility" TargetName="CheckMark" Value="Collapsed"/>
</Trigger>
<Trigger Property="HasContent" Value="True">
<Setter Property="FocusVisualStyle">
<Setter.Value>
<Style>
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Rectangle Stroke="Black" StrokeDashArray="1 2" StrokeThickness="1" Margin="14,0,0,0" SnapsToDevicePixels="True"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
</Setter>
<Setter Property="Padding" Value="2,0,0,0"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" TargetName="bulletDecorator" Value="0.2"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
Откуда вы знаете, что на самом деле это не проверено? Я пробовал ваш код, и он работает нормально. Но вам нужно хотя бы *** 2 переключателя ***, чтобы проверить это. Потому что при использовании всего 1 радиообъекта вы можете просто проверить его *** один раз ***, после этого вы не можете снять его с помощью пользовательского интерфейса (если только не используете код). –
Спасибо. Я использую 2 переключателя, но все равно не работает. Вы пытались использовать 2 переключателя, и все работает нормально? – codematrix
, конечно, обратите внимание, что ваши 2 радиообъектива должны быть помещены в один и тот же контейнер, в противном случае вам нужно установить одинаковое 'GroupName' для обоих. –