如何设置WPF按钮的文本

时间:2019-04-25 08:38:46

标签: c# .net wpf user-interface

我不知道如何在按钮上显示文本。

现在这是我问题的根源。我有三个要显示的小按钮:“开始”,“停止”和“重置”。

using System.Windows.Controls;


namespace Program.src.View.Main
{
    public class LowerActionPanel : StackPanel
    {
        public LowerActionPanel()
        {
            this.Orientation = Orientation.Horizontal;
            this.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;

            Button startButton = new Button();
            startButton.Width = 90;
            startButton.Height = 25;
            startButton.Text = "Text"; //(here the problem lies)
            this.Children.Add(startButton);

            Button stopButton = new Button();
            stopButton.Width = 90;
            stopButton.Height = 25;
            this.Children.Add(stopButton);

            Button resetButton = new Button();
            resetButton.Width = 90;
            resetButton.Height = 25;
            this.Children.Add(resetButton);
        }
    }
}

this other question中,他们使用.Text没有任何问题,这使我认为可以仅使用它,还是我误会了?

2 个答案:

答案 0 :(得分:1)

您正在使用WPF。您提供的最后一个示例链接使用WinForms。 WinForms在按钮上提供了文本属性,而WPF按钮则没有。如果要设置WPF按钮的内容,则应使用Content属性。

像这样:

var button = new Button();
button.Content = "Click here";

或使用对象初始化程序:

var button = new Button {Content = "Click here"};

答案 1 :(得分:0)

我认为您正在执行的操作可能应该是用户控件而不是自定义控件。

也许像这样:

<UserControl x:Class="wpf_99.UserControl1"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:local="clr-namespace:wpf_99"
         mc:Ignorable="d" 
         Height="25"
         >
<UserControl.Resources>
    <Style TargetType="Button">
        <Setter Property="Width" Value="92"/>
        <Setter Property="Margin" Value="2"/>
    </Style>
</UserControl.Resources>
<StackPanel Orientation="Horizontal">
    <Button Name="StartButton" Content="Start"/>
    <Button Name="StopButton" Content="Stop"/>
    <Button Name="ResetButton" Content="Reset"/>
</StackPanel>
</UserControl>

用法:

 <Window
    ...
    xmlns:local="clr-namespace:wpf_99"
    >

<Grid>
    <local:UserControl1 HorizontalAlignment="Left" VerticalAlignment="Top"/>
</Grid>

您可能会发现这很有用:

https://social.technet.microsoft.com/wiki/contents/articles/32610.wpf-layout-lab.aspx