0

とてもシンプルな ControlTemplate を RadioButton に適用しようとしています。しかし、それは奇妙な動作を引き起こします。ラベルをクリックしている限り、すべて正常に動作しますが、ボタン コントロール自体をクリックすると、再び変更されることはありません。コントロールの完全なコードは次のとおりです。

    <UserControl x:Class="RadioButtonDemo.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<UserControl.Resources>
    <ControlTemplate TargetType="RadioButton" x:Key="RadioButtonTemplate">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="2*"/>
            </Grid.ColumnDefinitions>
            <TextBlock Text="{TemplateBinding Content}"/>
            <RadioButton IsChecked="{TemplateBinding IsChecked}" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Center"/>
        </Grid>
    </ControlTemplate>

    <Style TargetType="RadioButton" x:Key="RadioButtonStyle">
        <Setter Property="Template" Value="{StaticResource RadioButtonTemplate}"/>
    </Style>

</UserControl.Resources>
<StackPanel>
    <RadioButton Content="Textbox diabled" GroupName="Group1" Style="{StaticResource RadioButtonStyle}"/>
    <RadioButton x:Name="EnabledButton" Content="Textbox enabled" GroupName="Group1" Style="{StaticResource RadioButtonStyle}"/>
    <TextBox IsEnabled="{Binding IsChecked, ElementName=EnabledButton}"/>
</StackPanel>

誰か助けてくれませんか?

4

1 に答える 1

0

次のリンクからデフォルトのスタイルを取得してください。

http://msdn.microsoft.com/en-us/library/cc296247(v=vs.95).aspx

コンテンツとボタンを交換するだけでテンプレートを使用します(:-(コードは一括です)。

于 2013-11-06T12:20:10.447 に答える