4

私は、WinRT DataTriggers で欠落している、次のような単純な置換を作成しようとしています。

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

したがって、XAML で設定されたプロパティ Value を持つクラス DataTrigger があります。Value を string.Empty に設定する必要があります。"" (空括弧) を使用すると、値は string.Empty ではなく null に設定されます。リソースの空の文字列で定義しようとしました:

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

そして、それを次のように使用します

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

値はまだ null に設定されています。また、次のコードを使用しようとしました:

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

このコードは、例外「タイプ 'Windows.UI.Xaml.Markup.XamlParseException' の例外が mscorlib.dll で発生しましたが、ユーザー コードで処理されませんでした」をスローします。

WinRT 情報: タイプ '文字列' が見つかりませんでした。"

WinRT にないため、使用するアプローチは使用<x:Static Member="sys:String.Empty" />できませんx:Static

WinRT XAML で空の文字列を宣言することさえ可能ですか?

4

1 に答える 1

0

これを試して

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