gpt4 book ai didi

WPF动态布局: how to enforce square proportions (width equals height)?

转载 作者:行者123 更新时间:2023-12-01 22:57:39 24 4
gpt4 key购买 nike

我正在学习 WPF,但不知道如何确保我的按钮呈方形。

这是我的 XAML 标记:

<Window x:Class="Example"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="368" Width="333">
<Window.Resources>
<Style x:Key="ToggleStyle" BasedOn="{StaticResource {x:Type ToggleButton}}"
TargetType="{x:Type RadioButton}">
</Style>
</Window.Resources>
<RadioButton Style="{StaticResource ToggleStyle}">
Very very long text
</RadioButton>
</Window>

WidthHeight 属性指定显式值似乎是一个错误的想法 - 按钮应该根据其内容自动计算其尺寸,但保持其宽度和高度相等。这可能吗?

最佳答案

试试这个 - 它似乎在 Kaxaml 中有效:

<Button 
MinWidth="{Binding ActualHeight, RelativeSource={RelativeSource Self}}"
MinHeight="{Binding ActualWidth, RelativeSource={RelativeSource Self}}">
Some content
</Button>

(为了测试,我在按钮内放置了一个 TextBox,因为这是无需重新解析 Xaml 即可更改内容大小的简单方法。)

编辑:抱歉,可能应该将其指定为与您的示例相匹配的样式:

<Style TargetType="Button" x:Key="SquareButton">
<Setter Property="MinWidth" Value="{Binding ActualHeight, RelativeSource={RelativeSource Self}}" />
<Setter Property="MinHeight" Value="{Binding ActualWidth, RelativeSource={RelativeSource Self}}" />
</Style>

关于WPF动态布局: how to enforce square proportions (width equals height)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2981705/

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