私は、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 で空の文字列を宣言することさえ可能ですか?