我正在用XAML开发一个WPF应用程序。我是一个初学者,我的按钮有一个问题。我需要设置它的高度作为它的容器的一个比例,这是一个网格。我看到高度可以设置为一个值或“自动”,但我不知道如何告诉我的按钮,他的高度必须是3/4的网格高度包含它。
有没有人知道如何处理这个问题?有没有可能用XAML做到这一点?
目标是当网格增长时,按钮也随之增长。
任何帮助都将不胜感激。
谢谢
下面是我编写的代码:
<Window x:Class="WpfAppButtonSize.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfAppButtonSize"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Grid Height="100" Width="250" HorizontalAlignment="Center" VerticalAlignment="Center">
<Button Content="Button 1" FontSize="30" Height="75" Width="150"/>
</Grid>
</Grid>
对于按钮,我想说的不是高度=“75”,而是高度=0.75 * 网格高度
4条答案
按热度按时间lskq00tm1#
最简单的方法是将按钮放置在它自己的网格中,行的大小适当以生成间距。
例如:
hyrbngr72#
如果通过指定
x:Name
属性给予Grid和Button命名,则可以在Grid大小更改时在后面的代码中设置Button的Height
。XAML格式
主窗口.xaml.cs
编辑:可能需要使用网格的
ActualHeight
属性,而不是Height
。v440hwme3#
您可以使用转换器并绑定Grid的“ActualHeight”属性来实现这一点。
zpqajqem4#
我成功地使用了以下代码:
1.使用Convert函数创建一个新类Converters
转换器.cs
1.将按钮的实际高度绑定到网格的高度+将转换器用作静态资源和转换器参数
主窗口.xaml
不要忘记将转换器命名空间添加到xaml:
下面的帖子也帮了我的忙:XAML Binding to a converter
谢谢大家的帮助。