gpt4 book ai didi

c# - 按钮内的文本格式

转载 作者:太空宇宙 更新时间:2023-11-03 21:55:53 25 4
gpt4 key购买 nike

我正在努力解决 WPF 按钮上的一些更精细的布局问题,本质上我是在尝试使按钮内的文本居中?目前我在代码中动态设置了几个按钮,类似于

        button1.Content = (option1 != 0.0)
? option1.ToString() + "\n" + "Centre"
: string.Empty;
button2.Content = (option2 != 0.0)
? option2.ToString() + "\n" + "Quite"
: string.Empty;
button3.Content = (option3 != 0.0)
? option.ToString() + "\n" + "Not"
: string.Empty;

在 XAML 中垂直和水平内容对齐都是居中的?

<Button Height="30" HorizontalAlignment="Left" Margin="254,0,0,0" Name="button1"
VerticalAlignment="Top" Width="50" Click="button_Click"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="10"
FontStretch="SemiCondensed"/>

但这并没有给我想要的布局,(见下文)

enter image description here

  1. 如何使顶部的值居中和底部的文本居中?

  2. 如果我希望底部文本的字体大小为 10 粗体,顶部文本的字体大小为 14 正常 - 我该怎么做?

非常感谢

最佳答案

我认为最简单的方法是在按钮内使用两个文本 block 并设置数据绑定(bind)。

<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel Orientation="Horizontal" TextBlock.TextAlignment="Center" >
<Button Height="50" Width="80">
<StackPanel>
<TextBlock Text="{Binding Text1}" FontSize="14" />
<TextBlock Text="{Binding Text2}" FontSize="10" FontWeight="Bold"/>
</StackPanel>
</Button>
</StackPanel>

public partial class MainWindow : Window
{
public string Text1 { get; set; }
public string Text2 { get; set; }

public MainWindow()
{
InitializeComponent();
Text1 = "10";
Text2 = "TEST Test";
DataContext = this;
}
}

如果您还不知道这种模式,请同时阅读 MVVM/INotifyPropertychanged 教程(因为我的示例未实现此接口(interface),如果您更改 TextX 属性,按钮的内容将不会刷新)

关于c# - 按钮内的文本格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12323217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com