gpt4 book ai didi

c++ - Metro C++/XAML ListView 捕捉项

转载 作者:行者123 更新时间:2023-11-28 08:01:32 25 4
gpt4 key购买 nike

我有一个如下所示的 ListView:

<ListView x:Name="MyList" ItemsSource="{Binding Path=MyItems}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock x:Name="Title" Text="{Binding Path=TitleCategory}"/>
<TextBlock x:Name="Body" Text="{Binding Path=BodySummary}" Style="{StaticResource BodyTextStyle}"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

我应用于该 TextBlock 的 BodyTextStyle 将宽度设置为 600px,并且在 FullScreenLandscape 中一切都显示良好。但是,当我切换到 SnappedView 时,由于屏幕宽度减小,文本会被剪掉。通常我会像这样设置宽度:

<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Width)" Storyboard.TargetName="Body">
<DiscreteObjectKeyFrame KeyTime="0" Value="300"/>
</ObjectAnimationUsingKeyFrames>

但这会导致运行时崩溃,我假设是因为我引用的项目在 ItemTemplate 中。当我进入 SnappedView 时,更改 ListView 中每个项目宽度的正确方法是什么?

最佳答案

从我在示例和模板中看到的内容来看,推荐的方法似乎是为不同的 View 状态提供单独的 ListView,并在尝试通过尝试做与您正在做的事情类似的事情来优化它之后不得不打架很多问题我决定放弃并做模板做的事情。省去麻烦,为快照 View 使用单独的 ListView,并在 View 状态更改时简单地切换两个 ListView 的可见性。

此外,我认为您是对的,问题出在具有单独名称范围的模板的名称范围问题。

关于c++ - Metro C++/XAML ListView 捕捉项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11353182/

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