Button
XAML のコンテンツとして 2 つの文字列を連結しようとしました。しかし、それは機能していません。私は以下のように試しました:
<Button Content=""String1"+{DynamicResource String2}"/>
Button
XAML のコンテンツとして 2 つの文字列を連結しようとしました。しかし、それは機能していません。私は以下のように試しました:
<Button Content=""String1"+{DynamicResource String2}"/>
XAML のコードは次のとおりです。
<Button>
<TextBlock>
<Run Text="String1"/>
<Run Text="{DynamicResource String2}"/>
</TextBlock>
</Button>
マルチバインディングの概念を使用します。 これはあなたをよく助けます。
MultiBinding
パラメータで使用できStringFormat
ます:
<Button>
<MultiBinding StringFormat="{}{0}{1}">
<Binding>
<Binding.Source>
<sys:String> String1 </sys:String>
</Binding.Source>
</Binding>
<Binding Path="{DynamicResource String2}" />
</MultiBinding>
</Button>
これに対処するための単純で、それほどスケーラブルではない方法は次のとおりです。
<Window x:Class="AdHocWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<System:String x:Key="String2">String2</System:String>
</Window.Resources>
<Grid>
<Button>
<TextBlock>
<System:String>String1 </System:String>
<TextBlock Text="{DynamicResource String2}"/>
</TextBlock>
</Button>
</Grid>
</Window>
TextBlocks は、基本的に小さなフロー ドキュメントであるため、非常に柔軟です。
コンテンツをビューモデルまたはモデルの値にバインドすると、動的に必要なものにこれをはるかに簡単に設定し、より詳細に制御できるようになります。もちろん、MVVMを使用する必要があります。
ただし、2kayの答えの方が優れています...