XAML WinUI3:如何将一个控件绑定到另一个控件的大小

0ejtzxu1  于 2023-09-28  发布在  其他
关注(0)|答案(1)|浏览(162)

我希望得到一个列表的高度,将其乘以0.4,并将其设置为按钮的Maxlength。
出于某种原因,我不想使用GridStackPanel或其他布局面板。
这是我有的

<Window x:Class="App1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Grid>
        <ListBox x:Name="listBox" />
        <Button x:Name="button" Content="Click me!" />
    </Grid>

</Window>
px9o7tmv

px9o7tmv1#

引用docs:
虽然它有ActualHeightProperty支持字段,但ActualHeight不会引发属性更改通知,并且应将其视为常规属性而不是依赖项属性。
你也许可以找到一些技巧来实现这一点,但最简单的方法是使用SizeChanged事件。

public MainWindow()
{
    InitializeComponent();
    this.listBox.SizeChanged += listBox_SizeChanged;
}

private void listBox_SizeChanged(object sender, SizeChangedEventArgs e)
{
    this.button.Height = this.listBox.ActualHeight * 0.4;
}

相关问题