c# - 根据其在 Silverlight 中的内容在 Grid 中设置 Grid RowDefinition 高度

标签 c# silverlight binding height row

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

< RowDefinition Height="{Binding ElementName=aaa, Path=Height"/> < RowDefinition 高度="*"/>

假设aaa被放入Grid的行中。

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

这可能吗?

干杯!

最佳答案

<RowDefinition Height="Auto" />

应该做你想做的。

编辑

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

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

我还没有测试过它,但它应该会给你一个良好的开端。 EDIT 测试,有效。也许有更好的方法,但这是一种方法。

关于c# - 根据其在 Silverlight 中的内容在 Grid 中设置 Grid RowDefinition 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4514798/

相关文章:

Silverlight 将 bool 绑定(bind)到图像源

python - 如何将 TextField 绑定(bind)到 IBOutlet()?

c# - 关于Unity3D的继承行为的问题

silverlight - 为什么 silverlight 中的双向绑定(bind)不起作用?

c# - 无法将 MemoryStream 参数传递给 WCF 方法?

c# - WPF MVVM 绑定(bind)嵌套属性

wpf - 如何在数据网格的 rowheadertemplate 中设置值?

c# - 我可以制作一个将任意表达式作为参数并调用它的实用程序方法吗?

c# - 使用 Path.Combine 比使用 '+' 连接字符串有什么优势?

c# 如何访问我的线程?