Welcome

首页 / 软件开发 / .NET编程技术 / [WPF]RadioButton在Group的Header区部分不响应鼠标选择的bug分析

[WPF]RadioButton在Group的Header区部分不响应鼠标选择的bug分析2012-01-02 博客园 winkingzhang昨晚看到南柯之石的WPF BUG之四:点击RadioButton的空白没有反应,就做了简单的验证,之后发表了一些分析和看法,

但是那个分析不够准确和充分,会误导别人的想法。在此表示歉意。这里我会从头做分析。

由于南柯之石已经描述过bug,这里只是简单说一下:就是在GroupBox的Header上放一个RadioButton,此时鼠标点击RadioButton的某些空白区域没有反应。

下面言归正传,开始对这个bug的探索:

首先这里给出出现bug的xaml片段(这个从南柯之石的blog转帖过来的,我做了部分修改,方便重现bug):

BUG in XAML

  <GridMargin="12" TextBlock.FontSize="36">    <Grid.RowDefinitions>      <RowDefinitionHeight="1*"/>      <RowDefinitionHeight="5*"/>      <RowDefinitionHeight="4*"/>    </Grid.RowDefinitions>    <TextBlockMargin="0,0,0,5"TextWrapping="Wrap">      <RunFontWeight="Bold">BugDescription:</Run>    </TextBlock>    <Borderx:Name="dummyContainer"BorderBrush="Red"BorderThickness="1"Grid.Row="1">      <GroupBoxx:Name="targetGroupBox"Padding="9"BorderBrush="CadetBlue"BorderThickness="10"Background="Red">        <GroupBox.Header>          <RadioButtonx:Name="targetRadioButton"Content="HeaderRadioButton"GroupName="header"/>        </GroupBox.Header>        <GroupBox.Content>          <StackPanel>            <RadioButtonContent="CommonRadioButton"/>            <RadioButtonContent="CommonRadioButton"/>          </StackPanel>        </GroupBox.Content>      </GroupBox>    </Border>    <GroupBoxPadding="9"Grid.Row="2">      <GroupBox.Header>        <RadioButtonContent="HeaderRadioButton"GroupName="header"/>      </GroupBox.Header>      <GroupBox.Content>        <StackPanel>          <RadioButtonContent="CommonRadioButton"/>          <RadioButtonContent="CommonRadioButton"/>        </StackPanel>      </GroupBox.Content>    </GroupBox>  </Grid>