2016-04-18 13 views
0

Ich habe einen Code, wo ich groupbox und die Kontrollkästchen in Wrap-Panel haben, die tatsächlich wickeln die groupbox auspacken und ist eine Voraussetzung, so funktioniert gut. Aber checkbox innerhalb der Grenze wrap auch meine groupbox auf deaktivieren, was ich nicht will. Kannst du mir bitte vorschlagen, wie ich eine Funktionalität erstellen kann, bei der das Kontrollkästchen innerhalb der Grenze nicht meine Gruppenbox umschließt. WPF GroupBox Steuerelement Vorlage

<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> 

Antwort

0

Sie können Source in Eventtrigger gesetzt, so dass es nur CheckBox zu korrigieren gilt. Sie müssen auch EventTrigger vom Stil in Trigger der GroupBox selbst verschieben, damit Sie den CheckBox-Namen verwenden können. Voll Beispiel:

<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>