WPF 按钮相同/推荐宽度

2023-11-24

假设您有一个带有多个按钮的窗口,例如确定/取消或是/否/取消。所有按钮的宽度必须相同。显然,这可以通过猜测一个数字并将它们全部硬连接到该数字来完成。

有没有更好的方法来做到这一点,一种会考虑首选/推荐尺寸的方法(“确定”按钮应该有多宽?这不是一个反问句,我实际上不知道答案!),需要什么根据最长标题的文本,如果字体大小增加等会发生什么?


另一种也许更简单的方法是使用SharedSizeGroup财产在ColumnDefinition and RowDefinition类。

WPF 网格中的列(和行)可以自动调整大小以适合其内容 - 当SharedSizeGroup使用时,具有相同组名的列共享其大小调整逻辑。

Xaml 看起来像这样......

<Grid Grid.IsSharedSizeScope="True">

    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition SharedSizeGroup="Buttons" />
        <ColumnDefinition SharedSizeGroup="Buttons" />
        <ColumnDefinition SharedSizeGroup="Buttons" />
    </Grid.ColumnDefinitions>

    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <Button Grid.Column="1"
            HorizontalAlignment="Stretch"
            VerticalAlignment="Center"
            Content="Ok"
            Margin="4" />

    <Button Grid.Column="2"
            HorizontalAlignment="Stretch"
            VerticalAlignment="Center"
            Content="Cancel"
            Margin="4" />

    <Button Grid.Column="3"
            HorizontalAlignment="Stretch"
            VerticalAlignment="Center"
            Content="Long Button Caption"
            Margin="4" />
</Grid>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF 按钮相同/推荐宽度 的相关文章

随机推荐

  • Codeigniter php7 错误

    我在 Codeigniter 2 上有一个网站 当我将服务器版本切换到 PHP7 时 出现以下两个错误 遇到 PHP 错误严重性 通知 消息 仅应通过引用分配变量 文件名 core Controller php 线路编号 51 this g
  • 在 Android 中拨打 911

    我想使用 Android SDK 拨打紧急号码 我正在使用以下代码拨打号码 911 此代码适用于除 911 紧急号码 之外的所有号码 当我使用 911 时 它会显示我不想要的拨号屏幕 是否有任何程序可以在不打开拨号器的情况下拨打 911 或
  • 以编程方式将 Power BI 报表部署到 Power BI 报表服务器并更改连接字符串

    是否有任何方法可以将 Power BI 报表部署到 Power BI 报表服务器 而无需手动复制这些文件 将它们上传到服务器 最后逐个报表地更改每个报表的数据源连接信息 这在每个报表中都不实用客户站点 例如 PowerBI 报告文件 Rep
  • bmake 的优点

    除了 bmake 是 GNU make 的 BSD 等价物这一事实之外 我无法清楚地理解它相对于 GNU make 的优势 谁能帮我 我只能找到一个resource这有点帮助 感谢更多帮助或指示 BSD make 和 GNU make 都是
  • 如何获取一周以上的推文(使用 tweepy 或其他 python 库)

    我一直在试图解决这个问题 但这确实令人沮丧 我正在尝试使用 Tweepy 获取带有特定主题标签的推文 大量推文 但这不会追溯到超过一周 我需要回到至少两年前 持续几个月 这可能吗 如果可能的话 怎么办 只是为了检查这里是我的代码 impor
  • mysql 游标中的记录数而不迭代?

    我正在尝试为以下逻辑编写 mysql 程序 select id fullname from users where fullname like concat lastname firstname middlename 如果上面的查询返回 0
  • Pandas json_normalize 产生令人困惑的“KeyError”消息?

    我正在尝试将嵌套 JSON 转换为 Pandas 数据帧 我一直在使用json normalize一直成功 直到我遇到了某个 JSON 我制作了一个较小的版本来重现问题 from pandas io json import json nor
  • 为什么某些 IDE 不缩进 switch 内的 case 语句? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么人们不缩进 C 访问说明符 case 语句 我有一个语法问题 不是关于how 而是why 许多 IDE 例如 Eclipse 和 Qt Creator 会自动缩进switch像这样 Day ra
  • 在 MongoDB 中查找共享键值的两个文档

    我在 MongoDB 中有大量文档 每个文档都有一个名为 name 的键 另一个名为 type 的键 我想找到两个文件一样的名字 and 不同种类 一个简单的 MongoDB 对应项 SELECT FROM table AS t1 tabl
  • COALESCE 或 CASE 更高效和/或标准

    就 x 与 y 而言 x 是否更符合 sql 标准 如果主观的话抱歉 x 比 y 更有效率吗 或者这些脚本完全不同并且在不同的上下文中使用 x SELECT FROM a INNER JOIN b ON COALESCE b columnt
  • 声明/定义自定义类 cout 对象的正确方法

    我创建了自己的std cout类似于将两者写入的对象std cout并写入日志文件 我目前在头文件中像这样定义它 但我收到了未使用的变量警告 头文件
  • android listview快速滚动自定义问题

    这是我的列表视图
  • 如何在jetpack compose中突出显示文本中的特定单词?

    我想知道如何在 jetpack compose 中突出显示文本的特定部分 我试过Html fromHtml 像这样 Text text Html fromHtml font color red Hello font World toStri
  • 使用 let 在 Google Sheet 脚本编辑器上声明变量

    当我尝试使用初始化变量时let我收到此错误提示 Missing 在声明之前 如何使用声明变量let在 Google Sheet 脚本编辑器上 let从 ECMAScript 2015 ES6 添加 但不幸的是 Google Apps 脚本尚
  • 为什么 printf 将 8 位字符填充为 32 位?

    char byte 0xff printf lu n sizeof byte Output is 1 printf x n byte Output is ffffffff 如果尺寸为byte只有一个字节 那为什么printf 表现得好像它是
  • 计算Python数组中每5个元素的总和

    我有一个 python 数组 我想计算其中每 5 个元素的总和 就我而言 我有数组c有十个元素 实际上它还有更多的元素 c 1 0 0 0 0 2 0 0 0 0 所以最后我想要一个新的数组 c new 应显示前 5 个元素和后 5 个元素
  • 在 bash 中重定向 C 程序输出时出现问题

    我用 C 编写了一个程序 使用 printf 将消息发送到标准输出 但在将输出重定向到文件 从 bash 运行 时遇到问题 我试过了 program argument gt gt program out program argument g
  • 磁盘已满时删除文件的 Shell 脚本

    如果缓存目录变得太大 我正在编写一个小脚本 每天通过 CRON 清理 Linux 上的空间 由于我对 bash 脚本编写非常陌生 因此我需要 Linux 专家的一些帮助 这是基本上的逻辑 伪代码 if Drive Space Left lt
  • 如何在 C# 中更改 Windows 窗体上 Groupbox 的边框粗细?

    我没有找到任何解决方案可以帮助我解决有关 SO 的旧问题 是否可以通过更改颜色使它们更厚或更明显 如果是的话 一些代码会很棒 或者只是提示如何做到这一点 您需要进行定制GroupBox控制 看The Grouper 自定义 Groupbox
  • WPF 按钮相同/推荐宽度

    假设您有一个带有多个按钮的窗口 例如确定 取消或是 否 取消 所有按钮的宽度必须相同 显然 这可以通过猜测一个数字并将它们全部硬连接到该数字来完成 有没有更好的方法来做到这一点 一种会考虑首选 推荐尺寸的方法 确定 按钮应该有多宽 这不是一