gpt4 book ai didi

xaml - 为什么是 {x :Null} no longer a valid value in a Style Setter in UWP?

转载 作者:行者123 更新时间:2023-12-01 02:05:34 24 4
gpt4 key购买 nike

跟进 this question ,为什么是{x:Null}不再是 Setter.Value 的有效选项?

将此代码放入 UWP 应用的资源字典中:

<Style x:Key="MyList"
TargetType="ListView">
<Setter Property="Transitions"
Value="{x:Null}"/>
</Style>

并在任何 ListView 中使用它:
<ListView Style="{StaticResource MyList}"/>

你的应用程序会崩溃。也是一个令人讨厌的崩溃,这种崩溃会在​​调试器中没有正确中断的情况下关闭应用程序。

此外,设计师提示灾难性的失败:

enter image description here

我知道将值设置为 {x:Null}已验证。如果您设置了 <ListView Transitions="{x:Null}"/>直接,然后它工作正常......正如预期的那样。

那么......样式 setter 发生了什么? ...仔细解释一下,微软?至少有替代方法吗?

最佳答案

这确实是一种奇怪的行为,总体而言,因为正如您所解释的,直接设置为 null 有效,而样式则不然。我发现的唯一替代方法是设置一个清晰的 transitioncollection:

<Page.Resources>
<Style x:Key="MyList" TargetType="ListView">
<Setter Property="Transitions" >
<Setter.Value>
<TransitionCollection></TransitionCollection>
</Setter.Value>
</Setter>
<Setter Property="DataContext" Value="{x:Null}"/>
</Style>

我设置了可以设置为 null 的 DataContext 示例,它说同样的错误但编译和工作。

我知道这不是最好的解决方案,但它是有一个清晰的过渡集合的解决方法。

关于xaml - 为什么是 {x :Null} no longer a valid value in a Style Setter in UWP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32855369/

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