【发布时间】:2015-10-28 16:33:45
【问题描述】:
我目前正在开发一个 WPF 应用程序,并且我有一个 GridView 显示预填充集合中的项目:
<GridView x:Name="GridContainer" ... ItemsSource="{Binding ProfItemCollection}">
<GridView.ItemTemplate>
<DataTemplate>
<local:ProfItem />
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
我还有一个可视状态管理器,它具有基于窗口大小的触发器:
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="NarrowState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="300" MinWindowHeight="300"/>
</VisualState.StateTriggers>
<VisualState.Setters>
...
...
</VisualState.Setters>
</VisualState>
...
...
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
我想从这些视觉状态中更改 GridView 项目高度。我在执行此操作时遇到问题...我知道我可以通过在 GridView 控件中执行以下操作来更改高度:
<GridView.ItemContainerStyle>
<Style TargetType="GridViewItem">
<Setter Property="Height" Value="100" />
</Style>
</GridView.ItemContainerStyle>
但是,我不知道如何从 VisualState Setter 中更改此属性值。我尝试在上面的代码中将x:Name 属性附加到Setter,但是当我在VisualState Setter 中引用此名称时它不起作用。
有没有办法在 XAML 中完成这项工作?
【问题讨论】: