8

ButtonXAML のコンテンツとして 2 つの文字列を連結しようとしました。しかし、それは機能していません。私は以下のように試しました:

<Button Content=""String1"+{DynamicResource String2}"/>
4

5 に答える 5

10

XAML のコードは次のとおりです。

 <Button>
        <TextBlock>
            <Run Text="String1"/>
            <Run Text="{DynamicResource String2}"/>
        </TextBlock>
 </Button>
于 2012-12-13T07:39:27.013 に答える
3

マルチバインディングの概念を使用します。 これはあなたをよく助けます。

于 2013-02-18T10:14:17.610 に答える
1

MultiBindingパラメータで使用できStringFormatます:

<Button>
    <MultiBinding StringFormat="{}{0}{1}">
        <Binding>
            <Binding.Source>
                <sys:String> String1 </sys:String>
            </Binding.Source>
        </Binding>
        <Binding Path="{DynamicResource String2}" />
    </MultiBinding>
</Button>
于 2012-12-08T19:10:24.867 に答える
1

これに対処するための単純で、それほどスケーラブルではない方法は次のとおりです。

<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 は、基本的に小さなフロー ドキュメントであるため、非常に柔軟です。

于 2012-12-09T03:59:18.400 に答える
0

コンテンツをビューモデルまたはモデルの値にバインドすると、動的に必要なものにこれをはるかに簡単に設定し、より詳細に制御できるようになります。もちろん、MVVMを使用する必要があります。

ただし、2kayの答えの方が優れています...

于 2012-12-08T19:12:26.447 に答える