7

私はTextBlockを持っています:

<TextBlock x:Name="someText" Text="{Binding ElementName=theList, Path=SelectedItem.Name, Mode=TwoWay}" />

ご覧のとおり、別の要素の選択されたアイテムにバインドされています。ここで、たとえば、選択した項目に「こんにちは」と表示されているとしましょう。そして、自分の名前を (コード ビハインドではなく XAML で) 追加して、"Hello, Arrow." のように読み上げたいと考えています。これどうやってするの?

4

3 に答える 3

11

これを試して:

<TextBlock x:Name="someText" TextWrapping="NoWrap">             
   <Run Text="{Binding ElementName=theList, Path=SelectedItem, Mode=TwoWay}" />
   <Run Text=" Arrow." />
</TextBlock>

Metro XAML ではまだ利用できない XAML ソリューション:

StringFormatを使用できます:

<TextBlock x:Name="someText" Text="{Binding ElementName=theList, Path=SelectedItem, Mode=TwoWay, StringFormat={}{0} Arrow.}" />

また、 MultiBinding とStringFormatを使用することもできます:

<TextBlock>
     <TextBlock.Text>
          <MultiBinding StringFormat="{}{0} Arrow.">
               <Binding ElementName="theList" Path="SelectedItem.Name" />                    
          </MultiBinding>
     </TextBlock.Text>
</TextBlock>
于 2012-12-27T04:09:57.947 に答える
3

この構成では、選択したアイテムにそのテキストを含めることができます。だから、私がお勧めするのは、これらの線に沿ったものです:

<StackPanel Orientation="Horizontal">
    <TextBlock x:Name="someText"
        Text="{Binding ElementName=theList,
                       Path=SelectedItem.Name,
                       Mode=TwoWay}" />
    <TextBlock x:Name="suffixText"/>
</StackPanel>

この構成を使用すると、suffixText任意の方法を提供して、探している結果を得ることができます。

于 2012-12-27T03:54:53.320 に答える
0

このために、2つの文字列を連結するMultiValueConverterを作成する必要があります。これらの文字列をxamlからコンバーターに渡すことができます。詳細については、記事を参照してください

于 2012-12-27T03:57:28.523 に答える