我不知道如何在按钮上显示文本。
现在这是我问题的根源。我有三个要显示的小按钮:“开始”,“停止”和“重置”。
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没有任何问题,这使我认为可以仅使用它,还是我误会了?
答案 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