2012-12-08 2 views

Antwort

2

Sie MultiBinding mit StringFormat Parameter verwenden:

<Button> 
    <MultiBinding StringFormat="{}{0}{1}"> 
     <Binding> 
      <Binding.Source> 
       <sys:String> String1 </sys:String> 
      </Binding.Source> 
     </Binding> 
     <Binding Path="{DynamicResource String2}" /> 
    </MultiBinding> 
</Button> 
+1

Dies ist nicht Arbeit.Ich bekomme String2 von ResourceDictionary. –

0

Wie wäre es in der View-Modell oder das Modell den Inhalt auf einen Wert verbindlich und dann können Sie diese viel mehr eingestellt leicht zu dem, was Sie wollen, dynamisch und haben viel mehr Kontrolle darüber. Natürlich würden Sie MVVM werden müssen mit ..

jedoch 2kay Antwort ist besser ...

1

Eine einfache, nicht sehr skalierbare Art und Weise mit diesem wäre zu behandeln:

<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 sind im Grunde genommen kleine Flussdokumente, daher sind sie sehr flexibel.

5

Der Code in XAML ist die folgende:

<Button> 
     <TextBlock> 
      <Run Text="String1"/> 
      <Run Text="{DynamicResource String2}"/> 
     </TextBlock> 
</Button> 
Verwandte Themen