2012-04-24 5 views
1

をバインドするとき、私は展開し、引き出しのためのアニメーションを縮小している両方のは最初

______    ______ _____ 
|  |    |  |  | 
| main |  ->  | main | 2nd | 
|______|    |______|_____| 
           --> 

下に示す引き出し、同様に表示される第2のStackPanelを有する発生アニメーションを防ぎます。それらは、コードで更新するブール値にバインドされています。

アプリケーションが最初に起動したときを除いて、すべてが正常に機能しますが、初期値がfalseなので折りたたみアニメーションが起動します。バインディング時にトリガーすることなく何かをバインドする方法はありますか?ここで


私は私のコードでboolenザッツにバインドDataTrigger使用しています私のXAMLでのように見えるされているものです。

 <StackPanel x:Name="expandMe" Width="0" Orientation="Vertical" > 
      <StackPanel.Style> 
       <Style> 
        <Style.Triggers> 
         <DataTrigger Binding="{Binding ExpandBoolean}" Value="False"> 
          ....... 
+0

初期値をtrueに設定する際に問題がありますか? –

+0

これは、開始時に折りたたみアニメーションではなく、展開アニメーションを実行します。理想的には、私はそれが偽であることにバインドされているアニメーションを実行せずに閉じて(偽)を開始したい – Matt

+0

あなたは、コントロールをロードした後にアニメーションを追加しようとしましたか?そのトリックを行う可能性があります –

答えて

1

を私が作るためにあなたのスタイルでセッターが表示されませんStackPanelのロードが崩壊していることを確認してください。私はそれがそれをすると思います。

<StackPanel x:Name="expandMe" Width="0" Orientation="Vertical" > 
     <StackPanel.Style> 
      <Style> 
       <Setter Property="StackPanel.Visibility" Value "Collapsed"/> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding ExpandBoolean}" Value="False"> 
+0

甘い、それはそれをしました。 VisibilityをVisibleに戻す「True」DataTriggerの内部に別のSetterを追加するだけでした。ありがとう! – Matt

+0

ああ、そうですよ!クール! –