gpt4 book ai didi

xaml - Windows 8 Metro 控件的可能 VisualStates 记录在哪里?

转载 作者:行者123 更新时间:2023-12-04 11:56:48 26 4
gpt4 key购买 nike

为 Win 8 Metro 控件编写自定义 ControlTemplate (XAML) 时,我们需要使用 VisualStateManager 根据 VisualState 转换更新控件。我在 MSDN 上看到了下面的示例,但我找不到 VisualStateGroup“CommonStates”的记录位置以及除了“PointerOver”和“Normal”之外还定义了哪些其他 VisualStates?您是否必须深入 SDK 才能找到按钮的默认 ControlTemplate?如果有,在哪里?

<ControlTemplate TargetType="Button">
<Grid >
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">

<VisualStateGroup.Transitions>

<!--Take one half second to transition to the PointerOver state.-->
<VisualTransition To="PointerOver"
GeneratedDuration="0:0:0.5"/>
</VisualStateGroup.Transitions>

<VisualState x:Name="Normal" />

<!--Change the SolidColorBrush, ButtonBrush, to red when the
Pointer is over the button.-->
<VisualState x:Name="PointerOver">
<Storyboard>
<ColorAnimation Storyboard.TargetName="ButtonBrush"
Storyboard.TargetProperty="Color" To="Red" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid.Background>
<SolidColorBrush x:Name="ButtonBrush" Color="Green"/>
</Grid.Background>
</Grid>
</ControlTemplate>

最佳答案

您可以转到 xaml 文件的设计 View 并选择 Button 控件 - 右键单击​​/编辑模板/编辑当前 - 将为您提取默认模板。通常,控件应该使用属性进行注释,这些属性指示模板中应该使用哪些视觉状态,如下所示,但是当我导航到像 Button 这样的控件的定义时,我看不到它们。

[TemplateVisualState(GroupName="CommonStates", Name="Normal")]
[TemplateVisualState(GroupName="CommonStates", Name="PointerOver")]

关于xaml - Windows 8 Metro 控件的可能 VisualStates 记录在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10425124/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com