Silverlight更改按钮文本

时间:2011-10-08 15:50:14

标签: c# silverlight

我有一个有多个副词的按钮。我想在点击按钮时更改它的文本。

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#代码:

button1.Content = "Hello world";

这使得矩形消失,但我只想更改文本。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您需要修改Button的Control Template以始终显示矩形。

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

请参阅Using Control Templates to Customize a Control's Look and Feel