我在wpf网格中有3列需要成比例
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="2*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" Background="Yellow"></Border>
<Border Grid.Column="2" Background="Yellow">
</Border>
<Border Grid.Column="1" Background="Green">
<Label Content="This is the Green Cell"></Label>
</Border>
</Grid>
结果
问题是绿色列中的文字被裁剪。我可以通过设置MinWidth =&#34; 150&#34;来解决问题。但是,绿色列内容将是动态的,因此我无法使用150的值。如何解决此问题?
答案 0 :(得分:0)
我认为这可以达到你想要的效果:Label
是如何在其边框内水平对齐的,所以它自然地适应它想要的任何东西,而不是伸展到它的父级。我给它一个半透明的背景,这样你就可以看到它实际上占据了它的哪一部分。
然后我们将第1列的MinWidth
绑定到ActualWidth
的{{1}}。第1列可以尽可能宽,但它不能比Label
更窄。
Label