Lim*_*ima 6 wpf grid width stackpanel
我有一个带网格的WPF窗口:
<Grid Name="mainGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20*" />
<ColumnDefinition Width="700*" />
<ColumnDefinition Width="190*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="80" />
<RowDefinition Height="220*" />
<RowDefinition Height="450*" />
<RowDefinition Height="160*" />
<RowDefinition Height="30" />
</Grid.RowDefinitions>
</Grid>
Run Code Online (Sandbox Code Playgroud)
在代码隐藏中,我将一个stackpanel添加到第一列,第二行mainGrid,但我希望stackpanel的最大宽度为第1列的宽度 - 50px.我偶然发现了stkPanel.Width = mainGrid.ColumnDefinitions(1).Width.ToString - 50,但是这会错误:
700*不能转换为double
有没有办法获得网格列的实际宽度,因为它显示在屏幕上以使用我想要的方式,或者我是否设置填充或类似?
谢谢,
马特
原来我快到了。而不是使用
stkPanel.Width = mainGrid.ColumnDefinitions[1].Width.ToString - 50
我应该用
stkPanel.Width = mainGrid.ColumnDefinitions[1].ActualWidth.ToString - 50
您有两个属性Grid:
Grid g = new Grid();
double width1 = g.ActualWidth;
double width2 = g.RenderSize.Width;
Run Code Online (Sandbox Code Playgroud)
这两个应该做的,尝试一下
| 归档时间: |
|
| 查看次数: |
11962 次 |
| 最近记录: |