0

Visual State (WPF 4) をネストされたコントロールに適用できるかどうかを知りたいです。バリエーションの状態に応じて変更したい要素を含むスタック パネルがあります。

<StackPanel x:Name="panPremioRaggiunto">
 <VisualStateManager.VisualStateGroups>
 <VisualStateGroup Name="StatiComuni">
 <VisualState Name="PremioNonRaggiunto" />
 <VisualState Name="PremioRaggiunto">
 <Storyboard>
  <ColorAnimation Storyboard.TargetName="lblPremioRaggiunto" Storyboard.TargetProperty="Foreground" To="Green" />
 </Storyboard>
 </VisualState>
 </VisualStateGroup>
 </VisualStateManager.VisualStateGroups>
 <TextBlock x:Name="lblPremioRaggiunto">TEXT</TextBlock>
</StackPanel>

このコードでスタックパネル全体の状態を変更しようとすると

VisualStateManager.GoToState(panPremioRaggiunto, "PremioRaggiunto", False)

何も起こりません: lblPremioRaggiunto という名前のネストされたテキストブロックは、それに応じて色を変更しません。この方法で視覚的な状態を適用できますか?

ありがとう、ダニーロ。

4

2 に答える 2

0

はい、VisualStateManager任意のコントロールの状態を変更できます。コードに他の問題があるはずです。

于 2011-06-28T18:50:02.003 に答える
0

修正された問題: ビジュアル ステートはコントロール テンプレートの外部で定義されるため、 GoToStateの代わりにVisualStateManager.GoToElementStateを使用する必要があります。

于 2011-07-01T04:39:50.103 に答える