【问题标题】:Setting a Grid RowDefinition height in Grid according to its content in Silverlight根据 Silverlight 中的内容在 Grid 中设置 Grid RowDefinition 高度
【发布时间】:2011-05-29 17:24:38
【问题描述】:

我想做的(我其实不知道是否可以)是根据其内容设置给定行的高度:

假设 aaa 被放入 Grid 的行中。

请注意:我希望我的行保持一开始设置的高度。

这可能吗?

干杯!

【问题讨论】:

    标签: c# silverlight binding height row


    【解决方案1】:
    <RowDefinition Height="Auto" />
    

    应该做你想做的。

    编辑

    您可以做的是向内容的 SizeChanged 事件添加一个处理程序。在该处理程序中,将网格的适当 RowDefinition 高度设置为内容的 ActualHeight 并删除处理程序:

    grid.RowDefinitions[x].Height = new GridLength(((FrameworkElement)sender).ActualHeight, GridUnitType.Pixel);
    content.SizeChanged -= content_SizeChanged;
    

    我还没有测试过它,但它应该会给你一个好的开始。 EDIT 测试,它的工作原理。也许有更好的方法来做到这一点,但这是一种方法。

    【讨论】:

    • 不幸的是我的控件可能会改变它的高度(它可以被扩展)。但是,我希望网格行高保持在开始时的设置,因此 Auto 不是一个好的选择(行将调整大小)
    • 是的,有了这些先决条件,我的回答将无法完成工作。我建议您编辑您的问题,以包括该行在其内容的高度发生变化时保持其初始高度的需要,这对我来说并不清楚:)
    猜你喜欢
    • 1970-01-01
    • 2019-01-23
    • 2021-12-08
    • 2019-02-10
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 2018-04-20
    相关资源
    最近更新 更多