xaml – 为什么{x:Null}不再是UWP中样式设置器中的有效值?

前端之家收集整理的这篇文章主要介绍了xaml – 为什么{x:Null}不再是UWP中样式设置器中的有效值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
跟进到 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}”/>直接,然后它正常工作……如预期的那样.

那么……风格设定者怎么了? ……关心解释,微软?至少还有另一种方法吗?

解决方法

这真的是一个奇怪的行为,总的来说因为你解释了直接设置为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示例,它表示相同的错误,但编译和工作.

我知道这不是最好的解决方案,但它是一个解决方法,有一个明确的transitioncollection.

猜你在找的Windows相关文章