处理WPF中的Content属性

时间:2009-04-23 09:34:01

标签: c# wpf wpf-controls

我目前面临着巨大的问题,即我在图像中显示图像和一些文字问题是当我从代码更改按钮的内容属性时,我的图像消失并且仅显示指定的文本,我想保留图像并且只是想改变文本,任何建议如何处理它

<Button x:Name="btnPrescan" Margin="8" Grid.Column="2" Click="btnPrescan_Click">
    <StackPanel Orientation="Horizontal">
         <Image Source="Icons\Scan_Start_Icon.png" Height="14" Width="23"/>
         <TextBlock x:Name="tbButtonText"  Text="    Prescan"/>
    </StackPanel>
</Button>

和按钮看起来像这样

alt text

由于

2 个答案:

答案 0 :(得分:2)

将文本绑定到UserControl上的支持属性:

<Button x:Name="btnPrescan" Margin="8" Grid.Column="2" Click="btnPrescan_Click">
    <StackPanel Orientation="Horizontal">
         <Image Source="Icons\Scan_Start_Icon.png" Height="14" Width="23"/>
         <!-- assumes DataContext is set appropriately -->
         <TextBlock Text="{Binding ButtonText}"/>
    </StackPanel>
</Button>

然后只需更改支持属性:

this.ButtonText = "New button text";

答案 1 :(得分:1)

你应该这样做,

((TextBlock)btnPrescan.GetTemplatedChild("tbButtonText")).Text = "Your Text"