2016-04-18 10 views
0

私はgroupboxを持っており、実際にグループボックスのラップをラップするチェックボックスを持っているコードを持っていますので、うまく動作します。 しかし、国境の内側のチェックボックスは、私が望ましくないものをオフにして、私のグループボックスを折り返します。 ボーダー内のチェックボックスがグループボックスをラップしない機能を作成するにはどうすればいいですか? WPF GroupBoxコントロールテンプレート

<StackPanel.Resources> 
     <Style TargetType="GroupBox" x:Key="groupBoxStyle"> 
      <Style.Triggers> 
       <EventTrigger RoutedEvent="CheckBox.Unchecked"> 
        <BeginStoryboard> 
         <Storyboard> 
          <DoubleAnimation Storyboard.TargetProperty="Height" Duration="0:0:.2" To="30" /> 
         </Storyboard> 
        </BeginStoryboard> 
       </EventTrigger> 
       <EventTrigger RoutedEvent="CheckBox.Checked"> 
        <BeginStoryboard> 
         <Storyboard> 
          <DoubleAnimation Storyboard.TargetProperty="Height" Duration="0:0:.2" /> 
         </Storyboard> 
        </BeginStoryboard> 
       </EventTrigger> 
      </Style.Triggers> 
     </Style> 
    </StackPanel.Resources> 
    <GroupBox Margin="8,0" Height="150" BorderBrush="Transparent" Style="{StaticResource groupBoxStyle}"> 
     <GroupBox.Header> 
      <WrapPanel > 
       <CheckBox IsChecked="True" VerticalAlignment="Center" /> 
       <Label Content="Volatility" Background="#00000000" Foreground="#FF0033FF" FontWeight="Bold" /> 
      </WrapPanel> 
     </GroupBox.Header> 
     <Border BorderBrush="Black" BorderThickness="1"> 
      <UniformGrid Columns="2"> 
       <Label Content="Spots"></Label> 
       <TextBox AcceptsReturn="False" AcceptsTab="True" AllowDrop="True" IsTabStop="True" /> 
       <Label Content="Hist. references" /> 
       <TextBox AcceptsReturn="False" AcceptsTab="True" AllowDrop="True" IsTabStop="True" /> 
       <Label Content="Tenors" /> 
       <TextBox AcceptsReturn="False" AcceptsTab="True" AllowDrop="True" IsTabStop="True" /> 
       <Label Content="(5) Is there Value Plan? Yes/No" Margin="0,0,-42,0" /> 
       <CheckBox Margin="0,5,0,0" Name="chkISvalue" HorizontalAlignment="Right" Width="84" Style="{x:Null}" Checked="chkISvalue_Checked" Unchecked="chkISvalue_Unchecked" /> 
      </UniformGrid> 
     </Border> 
    </GroupBox> 
</StackPanel> 

答えて

0

それが唯一の正しいチェックボックスに適用されるようにするには、EventTriggerでsourcenameここを設定することができます。また、CheckBoxの名前を使用できるように、EventTriggerをStyleからGroupBoxのTriggersに移動する必要があります。 全例:

<StackPanel>  
<GroupBox Margin="8,0" Height="150" BorderBrush="Transparent" Style="{StaticResource groupBoxStyle}"> 
    <GroupBox.Triggers> 
    <EventTrigger RoutedEvent="CheckBox.Unchecked" SourceName="WrappingCheckBox"> 
     <BeginStoryboard> 
     <Storyboard> 
      <DoubleAnimation Storyboard.TargetProperty="Height" Duration="0:0:.2" To="30" /> 
     </Storyboard> 
     </BeginStoryboard> 
    </EventTrigger> 
    <EventTrigger RoutedEvent="CheckBox.Checked"> 
     <BeginStoryboard> 
     <Storyboard> 
      <DoubleAnimation Storyboard.TargetProperty="Height" Duration="0:0:.2" /> 
     </Storyboard> 
     </BeginStoryboard> 
    </EventTrigger> 
    </GroupBox.Triggers> 
    <GroupBox.Header> 
    <WrapPanel > 
     <CheckBox Name="WrappingCheckBox" IsChecked="True" VerticalAlignment="Center" /> 
     <Label Content="Volatility" Background="#00000000" Foreground="#FF0033FF" FontWeight="Bold" /> 
    </WrapPanel> 
    </GroupBox.Header> 
    <Border BorderBrush="Black" BorderThickness="1"> 
    <UniformGrid Columns="2"> 
     <Label Content="Spots"></Label> 
     <TextBox AcceptsReturn="False" AcceptsTab="True" AllowDrop="True" IsTabStop="True" /> 
     <Label Content="Hist. references" /> 
     <TextBox AcceptsReturn="False" AcceptsTab="True" AllowDrop="True" IsTabStop="True" /> 
     <Label Content="Tenors" /> 
     <TextBox AcceptsReturn="False" AcceptsTab="True" AllowDrop="True" IsTabStop="True" /> 
     <Label Content="(5) Is there Value Plan? Yes/No" Margin="0,0,-42,0" /> 
     <CheckBox Margin="0,5,0,0" Name="chkISvalue" HorizontalAlignment="Right" Width="84" Style="{x:Null}" /> 
    </UniformGrid> 
    </Border> 
</GroupBox> 

関連する問題