Wel*_*ing 18 c# wpf grid code-behind
我需要从后面的代码动态创建一个WPF网格.这样做是可以的,我可以这样做,以便我设置内容宽度,但我需要做的是设置它们,以便当我调整窗口大小时,控件重新调整大小
var col = new ColumnDefinition();
col.Width = new System.Windows.GridLength(200);
grid1.ColumnDefinitions.Add(col);
Run Code Online (Sandbox Code Playgroud)
这将产生XAML
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200"></ColumnDefinition>
</Grid.ColumnDefinitions>
Run Code Online (Sandbox Code Playgroud)
但我需要的是使用*或问号,即.
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
Run Code Online (Sandbox Code Playgroud)
但是从后面的代码创建时,WidthValue不支持*或问号a?
ion*_*den 26
您可以这样指定:
对于自动尺寸的列:
GridLength.Auto
Run Code Online (Sandbox Code Playgroud)
对于星号柱:
new GridLength(1,GridUnitType.Star)
Run Code Online (Sandbox Code Playgroud)
我认为这有助于:
对于自动列:
ColumnDefinition cd = new ColumnDefinition();
cd.Width = GridLength.Auto;
Run Code Online (Sandbox Code Playgroud)
或者比例网格长度:
ColumnDefinition cd = new ColumnDefinition();
cd.Width = new GridLength(1, GridUnitType.Star);
Run Code Online (Sandbox Code Playgroud)
或者查看:http: //msdn.microsoft.com/en-us/library/system.windows.gridlength.aspx 和 http://msdn.microsoft.com/en-us/library/system.windows.gridunittype. ASPX
Greez Shounbourgh
有三种类型的设置Width to Grid ColumnDefinitions:
对于百分比列:
yourGrid.ColumnDefinitions[0].Width = new GridLength(1, GridUnitType.Star);
Run Code Online (Sandbox Code Playgroud)
在xaml中:
<ColumnDefinition Width="1*"/>
Run Code Online (Sandbox Code Playgroud)
对于像素列
yourGrid.ColumnDefinitions[0].Width = new GridLength(10, GridUnitType.Pixel);
yourGrid.ColumnDefinitions[0].Width = new GridLength(10);
Run Code Online (Sandbox Code Playgroud)
在xaml中:
<ColumnDefinition Width="10"/>
Run Code Online (Sandbox Code Playgroud)
对于自动列
yourGrid.ColumnDefinitions[0].Width = GridLength.Auto;
Run Code Online (Sandbox Code Playgroud)
在xaml中:
<ColumnDefinition Width="Auto"/>
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
归档时间: |
|
查看次数: |
46824 次 |
最近记录: |