gpt4 book ai didi

c# - 如何从 XAML 代码更改 ItemsPanelTemplate WrapGrid?

转载 作者:太空狗 更新时间:2023-10-29 21:45:50 28 4
gpt4 key购买 nike

我正在尝试像这样修改我的 WrapGrid 的 MaximumRowsOrColumns 属性:

<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid x:Name="wrapGridItems" Orientation="Vertical" MaximumRowsOrColumns="1" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>

然后我使用此代码更改 WrapGrid:

<VisualState x:Name="Snapped">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="wrapGridItems" Storyboard.TargetProperty="MaximumRowsOrColumns">
<DiscreteObjectKeyFrame KeyTime="0" Value="-1"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="headerText" Storyboard.TargetProperty="Text">
<DiscreteObjectKeyFrame KeyTime="0" Value="Pins"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>

但是我得到了错误

WinRT information: Cannot resolve TargetName wrapGridItems.

我应该如何引用 ObjectAnimationUsingKeyFrames Storyboard.TargetName 属性中的 WrapGrid?

最佳答案

您不能使用 x:Name 访问模板内的元素。由于模板可以多次实例化,因此动画无法判断它应该操纵哪个元素。

如果您需要更改模板内元素的属性,您应该使用绑定(bind):

<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Vertical" MaximumRowsOrColumns="{Binding MyMaxRowsOrCollumns}" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>

关于c# - 如何从 XAML 代码更改 ItemsPanelTemplate WrapGrid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12869410/

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