4

我正在尝试为 WinRT DataTriggers 中的缺失编写简单的替换,例如:

<dt:DataTrigger Property="Message" Value="">
    <dt:Setter TargetName="tbMessage" Property="Visibility" Value="Collapsed" />
</dt:DataTrigger>

所以我有在 XAML 中设置的属性 Value 的类 DataTrigger。我需要将值设置为 string.Empty。当我使用“”(空括号)时,值设置为 null,而不是 string.Empty。我试图在资源中定义空字符串:

<x:String x:Key="EmptyString"></x:String>

并像使用它一样

<dt:DataTrigger Property="Message" Value="{StaticResource EmptyString}">
    <dt:Setter TargetName="tbMessage" Property="Visibility" Value="Collapsed" />
</dt:DataTrigger>

值仍然设置为空。我也尝试使用下一个代码:

xmlns:sys="using:System" ... <sys:String x:Key="EmptyString"></sys:String>

此代码抛出异常“在 mscorlib.dll 中发生类型为‘Windows.UI.Xaml.Markup.XamlParseException’的异常,但未在用户代码中处理

WinRT 信息:找不到类型“字符串”。”

<x:Static Member="sys:String.Empty" />无法使用using 的方法,因为在 WinRT 中x:Static缺少。

甚至可以在 WinRT XAML 中声明一个空字符串吗?

4

1 回答 1

0

尝试这个

<TextBlock Text="{x:Static System:String.Empty}" Name="emptyString"/>
于 2012-11-16T05:58:51.077 回答