DOBON.NET DOBON.NETプログラミング掲示板過去ログ

WPF XAMLのイベントでプロパティを即時に変更したい

環境/言語:[VS2010 WPF XAML]
分類:[.NET]

こんにちは。

WPFのXAMLの質問です。

EventTriggerタグで
コントロールの配置が変わるXAMLが書いてあります。
webでもよく見かける「WPFでアニメーション」というもの。

ThicknessAnimationタグで位置が徐々に変更されているのですが
このアニメーションと同じタイミングで
コントロールの値を即座に変更したいのですが
任意プロパティを、特定の値に変更する方法がわかりません。

具体的には、Visible値を変えたいのです。

Boolean値を即時に変えるために、
KeyTime 0 の時に変更しているコードは
次のリンク先で見つけることができました。

wpf - Setting a property with an EventTrigger - Stack Overflow
http://stackoverflow.com/questions/942548/setting-a-property-with-an-eventtrigger

これをVisibleでやりたいのですが、どのようにするのでしょうか?
VisibleはBoolean型ではないので、困っています。
ObjectAnimationUsingKeyFramesでいいんでは
ありがとうございます。
Storyboard の中に次のようなタグを埋め込むことで実現できました。

高さなどを変更する場合
    <ObjectAnimationUsingKeyFrames
        Storyboard.TargetName="Panel2"
        Storyboard.TargetProperty="Height">
        <DiscreteObjectKeyFrame KeyTime="0">
            <DiscreteObjectKeyFrame.Value>
                <sys:Double>100</sys:Double>
            </DiscreteObjectKeyFrame.Value>
        </DiscreteObjectKeyFrame>
    </ObjectAnimationUsingKeyFrames>

※sysは
  xmlns:sys="clr-namespace:System;assembly=mscorlib"
  このような定義を先頭のタグに埋め込んでおく必要あり。

表示状態を変更する場合
    <ObjectAnimationUsingKeyFrames
        Storyboard.TargetName="Panel2"
        Storyboard.TargetProperty="Visibility">
        <DiscreteObjectKeyFrame KeyTime="0">
            <DiscreteObjectKeyFrame.Value>
                <Visibility>Visible</Visibility>
            </DiscreteObjectKeyFrame.Value>
        </DiscreteObjectKeyFrame>
    </ObjectAnimationUsingKeyFrames>
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板