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

Xaml 为什么{x:Null}不再是UWP中样式设置器中的有效值?,xaml,windows-store-apps,uwp,Xaml,Windows Store Apps,Uwp,接下来,为什么{x:Null}不再是Setter.Value的有效选项 将此代码放入UWP应用程序的资源字典中: <Style x:Key="MyList" TargetType="ListView"> <Setter Property="Transitions" Value="{x:Null}"/> </Style> 你的应用程序将崩溃。还有一种严重的崩溃,这种崩溃会在调试器中关闭应用程序而不会正常中断 此

接下来,为什么
{x:Null}
不再是
Setter.Value
的有效选项

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

<Style x:Key="MyList"
        TargetType="ListView">
    <Setter Property="Transitions" 
            Value="{x:Null}"/>
</Style>
你的应用程序将崩溃。还有一种严重的崩溃,这种崩溃会在调试器中关闭应用程序而不会正常中断

此外,设计师还抱怨灾难性故障:

我知道将值设置为
{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示例,它表示相同的错误,但可以编译并工作

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

空值内部模板 你可以找到更多的答案

<Color x:Key="BgNull"></Color>
<Style x:Key="L2" TargetType="TextBox">
  <Setter Property="Background" Value="{StaticResource BgNull}"/>
</Style>

看来这是唯一的办法。希望MS将来能解决这个问题。谢谢你,胡安。
<Color x:Key="BgNull"></Color>
<Style x:Key="L2" TargetType="TextBox">
  <Setter Property="Background" Value="{StaticResource BgNull}"/>
</Style>