我正在研究WPF应用程序。我的应用中有很多标签。每个选项卡都包含一个grid.My应用程序是基于页面的,没有窗口。我的应用程序中有两个页面,一个是Xaml的主页面 MainPage.xaml中
<Page x:Class="App.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
Title="MainPage" Height="600" Width="1000" WindowHeight="600"
WindowWidth="1000" WindowTitle="CSP - LOGIN" Background="Black"></Page>
和Page2.xaml
<Page x:Class="App.Page2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
<Grid Background="Black">
<TabControl HorizontalAlignment="Left" Height="100" Margin="27,63,0,0" VerticalAlignment="Top" Width="100">
<TabItem Header="TabItem">
<Grid Background="#FFE5E5E5">
<Grid HorizontalAlignment="Left" Height="410.5" Margin="10,19.54,0,0" VerticalAlignment="Top" Width="766">
<Button Content="Add Item" HorizontalAlignment="Left" Margin="10,135.748,0,0" VerticalAlignment="Top" Width="75"/>
<Button Content="Remove Item" HorizontalAlignment="Left" Margin="10,177.208,0,0" VerticalAlignment="Top" Width="75"/>
<Button Content="Update Item" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="10,217.168,0,0"/>
</Grid>
</Grid>
</TabItem>
<TabItem Header="TabItem">
<Grid Background="#FFE5E5E5">
<Grid HorizontalAlignment="Left" Height="410.5" Margin="10,19.54,0,0" VerticalAlignment="Top" Width="766">
<Button Content="Add Item" HorizontalAlignment="Left" Margin="10,135.748,0,0" VerticalAlignment="Top" Width="75"/>
<Button Content="Remove Item" HorizontalAlignment="Left" Margin="10,177.208,0,0" VerticalAlignment="Top" Width="75"/>
<Button Content="Update Item" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="10,217.168,0,0"/>
</Grid>
</Grid>
</TabItem>
<TabItem Header="TabItem" HorizontalAlignment="Left" Height="19.96" VerticalAlignment="Top" Width="96">
<Grid Background="#FFE5E5E5">
<Grid HorizontalAlignment="Left" Height="410.5" Margin="10,19.54,0,0" VerticalAlignment="Top" Width="766">
<Button Content="Add Item" HorizontalAlignment="Left" Margin="10,135.748,0,0" VerticalAlignment="Top" Width="75"/>
<Button Content="Remove Item" HorizontalAlignment="Left" Margin="10,177.208,0,0" VerticalAlignment="Top" Width="75"/>
<Button Content="Update Item" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="10,217.168,0,0"/>
</Grid>
</Grid>
</TabItem>
</TabControl>
</Grid>
</Page>
如您所见,每个标签各有两个网格。默认情况下生成一个网格,我添加其他网格以将项目组合在一起。
我尝试使用SizeToContent和其他函数在更改时动态获取宽度和高度,但是当我添加SizeToContent时,它会给出错误并且SizeToContent不会在代码提示中显示。它给出了无法访问的错误。
我希望网格中的内容是动态的,所以如果改变窗口大小,那么大小也会改变。
答案 0 :(得分:0)
我将解释控制属性的一些行为方面:
Width
属性会导致它水平修复。Height
属性会使其垂直固定。HorizontalAlignment
属性具有各种行为,具体取决于值:
Stretch
:默认值。使控件相对于其父容器水平拉伸。 如果已设置Width
属性,则此选项无效。 Left
:将控件向左对齐其父容器。Center
:将控件水平居中于其父容器中。Right
:将控件在其父容器中向右对齐。VerticalAlignment
属性有各种行为,取决于值:
Stretch
:默认值。使控件相对于其父容器垂直拉伸。 如果已设置Height
属性,则此选项无效。 Top
:将控件对齐其父容器中的顶部。Center
:将控件垂直居中于其父容器中。Bottom
:将控件对齐其父容器中的底部。Margin
属性将根据父容器的类型进行相对定位,这在本文中无法解释。 我不清楚您希望如何定位控件,但要回答您的问题:您可以删除Width
,Height
,HorizontalAlignment
和{{1控件允许它在窗口中水平和垂直拉伸。例如:
VerticalAlignment
只要玩这些属性,你就可以尽快掌握它。