【问题标题】:Handling Content property in WPF在 WPF 中处理 Content 属性
【发布时间】:2009-04-23 09:34:01
【问题描述】:

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

<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>

按钮看起来像这样

谢谢

【问题讨论】:

    标签: c# wpf wpf-controls


    【解决方案1】:

    将文本绑定到 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";
    

    【讨论】:

      【解决方案2】:

      你应该这样做,

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

      【讨论】:

        猜你喜欢
        • 2011-03-08
        • 2013-02-18
        • 2010-11-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-05
        • 1970-01-01
        • 2016-10-13
        • 1970-01-01
        相关资源
        最近更新 更多