我有一个使用背景图像的WPF应用程序。
<Window.Background>
<ImageBrush ImageSource="Images/background.png"/>
</Window.Background>
在窗口中,我具有网格和列的定义。
<Grid ShowGridLines="False">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
每次更改窗口大小时,都会调整背景图像的大小,这没关系。
问题在于表格中的控件失去了位置。
背景看起来是这样的:
我需要在两行之间添加文本框,使其看起来像这样:
到目前为止,我尝试使用canvas,dockpanel,将文本框置于不同的用户控件中,但没有任何帮助。
控件没有行距和列宽只有边距/宽度或高度。
任何想法都会有所帮助:)谢谢!
答案 0 :(得分:1)
您的文本框需要相对于窗口大小进行调整。通过用星号(*)指定大小,可以将列宽度和行高定义为宽度和高度的分数。 有关起点,请参见下面的示例。您当然可以稍微调整一下数字。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.2*"/>
<ColumnDefinition Width="0.29*"/>
<ColumnDefinition Width="0.02*"/>
<ColumnDefinition Width="0.29*"/>
<ColumnDefinition Width="0.2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.55*"/>
<RowDefinition Height="0.1*"/>
<RowDefinition Height="0.1*"/>
<RowDefinition Height="0.1*"/>
<RowDefinition Height="0.1*"/>
</Grid.RowDefinitions>
<TextBox Grid.Row="1" Grid.Column="1"/>
<TextBox Grid.Row="1" Grid.Column="3"/>
<TextBox Grid.Row="3" Grid.Column="1"/>
<TextBox Grid.Row="3" Grid.Column="3"/>
</Grid>