2012-01-31 11 views
0

このXAMLの部分には、グループボックスがあります。ヘッダーには、チェックボックスがあります。その内容では、いくつかのものと別のチェックボックス。私が達成したことは、このチェックボックスのチェックを外したりチェックしたりすることでグループボックスを崩壊/拡張させることです。私が避けたい副作用は、「Compute Power」のチェックボックスをオンまたはオフにしたときに同じイベントが発生することです。そのチェックボックスでのみイベントを処理する方法はありますか?

私は、イベントをフィルタリングするために私のヘッダチェックボックスに名前を付ける必要があると思います。

どうすればよいですか?それは可能ですか?何を指示してるんですか ?

enter image description here

   <GroupBox Margin="8,0" BorderBrush="#FF88B1D8" HorizontalAlignment="Stretch" Height="122.3"> 
       <GroupBox.Resources> 
        <Style TargetType="GroupBox"> 
         <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> 
       </GroupBox.Resources> 
       <GroupBox.Header> 
        <WrapPanel> 
        <CheckBox IsChecked="True" VerticalAlignment="Center" /> 
        <Label Content="Skew" Background="#00000000" Foreground="#FF0033FF" FontWeight="Bold" FontFamily="/WpfControlLibrary1;component/Fonts/#Tahoma" /> 
        </WrapPanel> 
       </GroupBox.Header> 
       <UniformGrid Columns="2"> 
        <Label Content="Spot Intervals"></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="Compute 'Power'" /> 
        <CheckBox IsChecked="False" VerticalAlignment="Center"/> 
       </UniformGrid> 
      </GroupBox> 
+0

これは、(これほど大きくない)提案をした人に(私はあなたがまだエクスパンダを使用しているので)あなたに言ったとき、元の質問で既にアナザーされています。 –

答えて

1

あなたが示唆したように、この攻撃するための1つの方法は、あなたのチェックボックスに名前を付けることです。

<GroupBox.Header> 
     <WrapPanel> 
     <CheckBox x:Name="ExpanderCheckBox" IsChecked="True" VerticalAlignment="Center" /> 

とあなたのEventTriggerののSourceNameプロパティを指定します。

<EventTrigger RoutedEvent="CheckBox.Unchecked" SourceName="ExpanderCheckBox"> 
関連する問題