简体   繁体   English

Silverlight更改按钮文字

[英]Silverlight change button text

I have a button with multiple contetnt. 我有多个竞争的按钮。 I want to change it's text when the button is clicked. 我想在单击按钮时更改其文本。

XAML: XAML:

<Button HorizontalAlignment="Left" Height="114" Margin="33,58,0,0" VerticalAlignment="Top" Width="224" Style="{StaticResource GlassButtonStyle}" FontSize="26.667" Click="Button_Click_1" Name="button1">
            <StackPanel Orientation="Horizontal">
                <Rectangle Height="69" Stroke="Black" Width="69">
                    <Rectangle.Fill>
                        <LinearGradientBrush EndPoint="0.004,1.044" StartPoint="0.739,0.25">
                            <GradientStop Color="Black" Offset="0"/>
                            <GradientStop Color="White" Offset="1"/>
                        </LinearGradientBrush>
                    </Rectangle.Fill>
                </Rectangle>

                <ContentPresenter Content="Clicke me" HorizontalAlignment="Center" VerticalAlignment="Center"/>
            </StackPanel>
</Button>

C# code: C#代码:

button1.Content = "Hello world";

This makes the rectangle disappear, though I want only to change the text. 尽管我只想更改文本,但这会使矩形消失。 How can I do this? 我怎样才能做到这一点?

You need to modify the Control Template of Button to show your rectangle all the time. 您需要修改“按钮的控制模板 ”以始终显示矩形。

<Button HorizontalAlignment="Left" Height="114" Margin="33,58,0,0" VerticalAlignment="Top" Width="224" Style="{StaticResource GlassButtonStyle}" FontSize="26.667" Click="Button_Click_1" Name="button1" Content="Click Me">
<Button.Template>
<ControlTemplate>
            <StackPanel Orientation="Horizontal">
                <Rectangle Height="69" Stroke="Black" Width="69">
                    <Rectangle.Fill>
                        <LinearGradientBrush EndPoint="0.004,1.044" StartPoint="0.739,0.25">
                            <GradientStop Color="Black" Offset="0"/>
                            <GradientStop Color="White" Offset="1"/>
                        </LinearGradientBrush>
                    </Rectangle.Fill>
                </Rectangle>

                <ContentPresenter Content="{TemplateBinding Content}" />
            </StackPanel>

</ControlTemplate>
</Button.Template>
</Button>

See Using Control Templates to Customize a Control's Look and Feel 请参见使用控件模板来自定义控件的外观

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM