1

TextBox 値にプレーンテキストを自動的に追加したい。たとえば、John Latham の統計を表示したいので、「Statistics for」を自動的に追加してから、Text プロパティをコントロールに割り当てます。いろいろ調べたのですが、なぜかうまくいきません。理由を検証していただけますか?バインディングが原因である可能性があると思いますが、コードビハインドから同じ結果を得るにはどうすればよいですか? ありがとう!

<StackPanel Grid.Row="0" Grid.Column="1">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="50"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Image Name="imgStatistic" Source="/Images/Statistics.gif" Grid.Column="0" HorizontalAlignment="Left" Height="50" Width="50"/>
        <TextBlock Text="{Binding Title, StringFormat='Statistic for  {0}'}" Name="txtStatistics"  VerticalAlignment="Bottom" Grid.Column="1" FontSize="18" TextWrapping="Wrap"/>

    </Grid>
</StackPanel>

コードビハインド:

    this.txtStatistics.Text = emp.FirstName + " " + emp.LastName;
4

1 に答える 1

4

Text="{Binding Title}"ののTitleプロパティの値をのにバインドすることを意味します。その扱いにくい文は次のように言います:プロパティ を持つオブジェクトが必要で、それをまたはその親の のとして設定します。DataContextTextBoxTextBoxText
TitleDataContextTextBox

そのようなオブジェクトがない場合、データ バインディングは適していません。
コードを次のように変更するだけです。

this.txtStatistics.Text = string.Format("Statistic for {0} {1}",
                                        emp.FirstName, emp.LastName);
于 2013-03-04T19:40:46.543 に答える