跟进到
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}"/>
你的应用会崩溃.一个令人讨厌的崩溃,这种类型在你的调试器中没有正确破坏应用程序.
此外,设计师抱怨灾难性的失败:
我知道将值设置为{x:Null}是有效的.如果设置< ListView Transitions =“{x:Null}”/>直接,然后它正常工作……如预期的那样.
那么……风格设定者怎么了? ……关心解释,微软?至少还有另一种方法吗?
解决方法
这真的是一个奇怪的行为,总的来说因为你解释了直接设置为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示例,它表示相同的错误,但编译和工作.