Windows8でxaml/c#メトロスタイルアプリを開発しています。Microsoftカレンダーアプリのコンボボックススタイルをエミュレートしたいと思います(イベントの詳細ページ)。つまり、選択後に色付きのボックスと境界線の動作をするということです。視覚的な状態を使用してそれを行うにはどうすればよいですか?
質問する
1497 次
2 に答える
1
これには標準のコントロールはありません。独自に作成するか、標準のコンボボックスを拡張する必要があります
于 2012-12-17T22:20:28.450 に答える
0
このようなものが動作するはずです:
<Combobox.Template>
<ControlTemplate>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Unfocused"/> <!--leave the unfocused state empty if the control already looks "unfocused" -->
<VisualState x:Name="Focused">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="background" Storyboard.TargetProperty="Opacity" To="0.2" Duration="0"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Border x:Name="background" Background="Red" Opacity="0" />
<!--other stuff-->
</ControlTemplate>
</Combobox.Template>
Combobox コントロールは、フォーカス、プレス、マウスオーバーなどのマウス/キーボード入力に応じて、組み込みの状態を自動的に切り替えます。状態を切り替えると、現在の状態に対して定義されたストーリーボードが逆になり、新しい状態が適用されます。ここで利用可能な状態を確認できます: http://msdn.microsoft.com/en-us/library/ms752094.aspx
(コード ビハインドを使用すると、イベントなどに基づいて独自の状態を実装することもできますが、これが必要になることはめったにありません。)
于 2013-06-24T09:53:44.013 に答える