簡體   English   中英

組合框樣式的Windows Metro應用程序

[英]Combobox style windows metro app

我正在Windows 8中開發xaml / c#Metro風格應用。我想模擬Microsoft日歷應用comboBox風格(在事件詳細信息頁面中)。 我的意思是,選擇后具有彩色框和邊框的行為。 如何使用視覺狀態?

沒有標准控件,您必須創建自己的/擴展標准組合框

這樣的事情應該起作用:

<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

(使用后台代碼,您還可以基於事件等實現自己的狀態,但這很少需要。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM