【问题标题】:Changes in WinRT ControlTemplate in Win8 RCWin8 RC 中 WinRT ControlTemplate 的变化
【发布时间】:2012-06-23 03:23:46
【问题描述】:

我有以下模板,它基本上根据按钮的按下状态改变了按钮边框的颜色:

    <ControlTemplate x:Name="SkillIconTemplate" TargetType="Button">
        <Border CornerRadius="10" BorderThickness="2" Margin="5" Background="{TemplateBinding Background}">
            <VisualStateManager.VisualStateGroups>
                <VisualStateGroup x:Name="CommonStates">
                    <VisualStateGroup.Transitions>
                        <VisualTransition To="MouseOver" GeneratedDuration="0:0:0.05"/>
                        <VisualTransition To="Pressed" GeneratedDuration="0:0:0.05"/>
                    </VisualStateGroup.Transitions>
                    <VisualState x:Name="Normal" />
                    <VisualState x:Name="MouseOver">
                        <Storyboard>
                            <ColorAnimation Storyboard.TargetName="BorderBrush" 
                                                    Storyboard.TargetProperty="Color" 
                                                    To="Yellow" />
                        </Storyboard>
                    </VisualState>
                    <VisualState x:Name="Pressed">
                        <Storyboard>
                            <ColorAnimation Storyboard.TargetName="BorderBrush" 
                                                    Storyboard.TargetProperty="Color"
                                                    To="Black"/>
                        </Storyboard>
                    </VisualState>
                </VisualStateGroup>
            </VisualStateManager.VisualStateGroups>
            <Border.BorderBrush>
                <SolidColorBrush x:Name="BorderBrush" Color="White"/>
            </Border.BorderBrush>
        </Border>
    </ControlTemplate>

现在,它似乎在 Win8 RC 中不起作用。在 Consumer Preview 中,它执行了以下操作:

Normal State: White
Hovered State: Yellow
Pressed State: Black

现在可以了:

Normal State: White
Hovered State (Before Pressed): White
Hovered State (After Pressed): Black
Pressed State: Black

有什么想法吗?

【问题讨论】:

    标签: xaml windows-8 windows-runtime


    【解决方案1】:

    定义的视觉状态集已更改,请使用 PointerOver 而不是 MouseOver。 此处列出了来自消费者预览版的大部分更改http://go.microsoft.com/fwlink/?LinkId=251943

    【讨论】:

      猜你喜欢
      • 2012-09-09
      • 1970-01-01
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多