Uwp 为什么VisualState.StateTriggers无法识别或无法访问?

Uwp 为什么VisualState.StateTriggers无法识别或无法访问?,uwp,Uwp,我正在尝试根据事件更改为按钮的边框笔刷 我尝试搜索如何更改可视状态,但所有这些状态都使用VisualState.StateTriggers和VisualState.setter的组合。在我的样式中使用它们时,会收到错误消息“无法识别或无法访问成员‘Setters’” 开发环境 Windows 10专业版 Visual Studio社区版2013更新4 .Net Framework 4.6.1 <Style x:Key="ButtonGameLarge" TargetType="Butto

我正在尝试根据事件更改为按钮的边框笔刷

我尝试搜索如何更改可视状态,但所有这些状态都使用VisualState.StateTriggers和VisualState.setter的组合。在我的样式中使用它们时,会收到错误消息“无法识别或无法访问成员‘Setters’”

开发环境

  • Windows 10专业版
  • Visual Studio社区版2013更新4
  • .Net Framework 4.6.1

    <Style x:Key="ButtonGameLarge" TargetType="Button">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Grid x:Name="RootGrid" Background="{TemplateBinding Background}">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup >
                                <VisualState x:Name="whateverName">
                                    <VisualState.StateTriggers>
                                        <AdaptiveTrigger MinWindowWidth="720" />
                                    </VisualState.StateTriggers>
                                    <VisualState.Setters>
                                        <Setter Target="RootGrid.Height" Value="80" />
                                        <Setter Target="RootGrid.Width" Value="400" />
                                        <Setter Target="RootGrid.Margin" Value="0,0,0,20" />
                                    </VisualState.Setters>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <ContentPresenter x:Name="ContentPresenter" AutomationProperties.AccessibilityView="Raw" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding ContentTransitions}" Content="{TemplateBinding Content}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    
    
    

我在Visual Studio中创建了一个空项目,将XAML代码粘贴到我的主页中,并将样式应用于按钮。它编译和运行良好


您确定您的项目是一个通用Windows项目,而不是较早的项目(如Windows Runtime,它没有
StateTriggers
,如果我记得的话)?我需要更多信息。

我在Visual Studio中创建了一个空项目,将XAML代码粘贴到我的主页中,并将样式应用于按钮。它编译和运行良好


您确定您的项目是一个通用Windows项目,而不是较早的项目(如Windows Runtime,它没有
StateTriggers
,如果我记得的话)?我需要更多信息。

您提到您正在使用Visual Studio 2013。然而,根据,至少需要VisualStudio2015来为UWP开发。我猜您选择的“通用”是旧的Windows 8.1样式的“通用”,它没有UWP的
VisualState
功能。您根本没有真正使用UWP项目。

您提到您正在使用Visual Studio 2013。然而,根据,至少需要VisualStudio2015来为UWP开发。我猜您选择的“通用”是旧的Windows 8.1样式的“通用”,它没有UWP的
VisualState
功能。你根本就不是在使用UWP项目。

是的。我通过选择“空白应用(通用应用)”启动了该项目。是的。我通过选择“空白应用(通用应用)”启动了该项目。您是否尝试过实际编译它?VisualStudio似乎有时会认为XAML无效,但它仍然可以编译。它无法编译。您是否确实尝试过编译它?VisualStudio似乎有时会认为XAML是无效的,但它仍然可以很好地编译。