c# - 如何在 Metro UI XAML 中声明空字符串

标签 c# xaml microsoft-metro windows-runtime winrt-xaml

我正在尝试为 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/

相关文章:

c# - LayoutKind.Sequential 当子结构具有 LayoutKind.Explicit 时未遵循

javascript - jqgrid 服务器控件的每次回发都会调用 ashx 文件

c# - 如何持有伪RPG玩家装备的有限收藏元素(字典?)

wpf - XAML IsMouseOver 和 IsEnabled 的奇怪冲突导致按钮在禁用时显示为事件状态

C# 为什么相等的小数可以产生不相等的散列值?

c# - 如何滚动网格?

Wpf xaml继承

Windows 8 Metro 应用程序(网格应用程序)过渡时出现黑色闪烁

c# - Windows 8 中应用程序的源代码

c# - 如何在 Metro 风格应用程序中将值从一个 xaml 页面传递到另一个页面