我正在尝试为 WinRT DataTriggers 中的缺失编写简单的替换,例如:
<dt:DataTrigger Property="Message" Value="">
<dt:Setter TargetName="tbMessage" Property="Visibility" Value="Collapsed" />
</dt:DataTrigger>
所以我有类 DataTrigger,其属性值是在 XAML 中设置的。我需要将值设置为 string.Empty。当我使用“”(空括号)时,值设置为 null,而不是 string.Empty。 我试图在 Resources 中定义空字符串:
<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>
此代码引发异常“类型为‘Windows.UI.Xaml.Markup.XamlParseException’的异常发生在 mscorlib.dll 中,但未在用户代码中处理
WinRT 信息:未找到类型“字符串”。”
使用 <x:Static Member="sys:String.Empty" />
的方法无法使用,因为在 WinRT 中 x:Static
失踪。
甚至可以在 WinRT XAML 中声明一个空字符串吗?
最佳答案
试试这个
<TextBlock Text="{x:Static System:String.Empty}" Name="emptyString"/>
关于c# - 如何在 Metro UI XAML 中声明空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13379924/