【发布时间】:2016-03-12 17:46:11
【问题描述】:
我的MainPage 中有一些Button,如下所示:
<Grid Grid.Row="1">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Margin="10" >
<Image Stretch="None" Source="Images/GameMainMenuIcon.png" Margin="0 0 0 50" />
<Button Style="{StaticResource ButtonGameLarge}">Button1</Button>
<Button Style="{StaticResource ButtonGameLarge}">Button2</Button>
<Button Style="{StaticResource ButtonGameLarge}">Button3</Button>
</StackPanel>
</Grid>
在我的Style.xaml 文件中,我为Buttons 编写了这些样式:
<Style TargetType="Button" x:Key="ButtonGameLarge">
<Setter Property="VisualStateManager.VisualStateGroups">
<Setter.Value>
<VisualStateGroup>
<VisualState>
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="720" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Property="Height" Value="80" />
<Setter Property="Width" Value="400" />
<Setter Property="Margin" Value="0 0 0 20" />
</VisualState.Setters>
</VisualState>
<VisualState>
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="400" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Property="Height" Value="40" />
<Setter Property="Width" Value="200" />
<Setter Property="Margin" Value="0 0 0 10" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</Setter.Value>
</Setter>
</Style>
但它给了我这些错误:
- 属性“VisualStateGroups”没有可访问的设置器。
- 无法将“VisualStateGroup”分配给属性“VisualStateGroups”,类型必须可分配给“IList”
- “VisualStateGroups”属性不是 DependencyProperty。要在标记中使用,非附加属性必须通过可访问的实例属性“VisualStateGroups”在目标类型上公开。对于附加属性,声明类型必须提供静态“GetVisualStateGroups”和“SetVisualStateGroups”方法。
如何为一组元素设置多个VisualState?
【问题讨论】:
标签: xaml win-universal-app visualstatemanager visualstategroup