C# 需要WPF的UI对齐帮助吗
在我的WPF应用程序(下面是XAML)中,我有一个列表视图,下面是一些标签和文本框。ListView下面的所有内容都应该锚定到窗口的底部。ListView上方的所有内容都需要锚定到窗口顶部。ListView本身需要垂直展开以填充之间的空间。当我垂直调整窗口大小时,唯一应该改变大小的是列表视图 我将所有内容都保存在根目录下的堆栈面板中,但它无法按照我的需要调整listview的大小。有人知道我怎样才能做到这一点吗?我正在使用C#.NET4.0和VS2010C# 需要WPF的UI对齐帮助吗,c#,.net,wpf,C#,.net,Wpf,在我的WPF应用程序(下面是XAML)中,我有一个列表视图,下面是一些标签和文本框。ListView下面的所有内容都应该锚定到窗口的底部。ListView上方的所有内容都需要锚定到窗口顶部。ListView本身需要垂直展开以填充之间的空间。当我垂直调整窗口大小时,唯一应该改变大小的是列表视图 我将所有内容都保存在根目录下的堆栈面板中,但它无法按照我的需要调整listview的大小。有人知道我怎样才能做到这一点吗?我正在使用C#.NET4.0和VS2010 <Window x:Class="
<Window x:Class="TaskManager.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" MinWidth="525" MinHeight="400">
<StackPanel Orientation="Vertical">
<Menu Name="mainMenu" Margin="0,0,0,5">
<MenuItem Header="File">
<MenuItem Header="Quit" />
</MenuItem>
</Menu>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,0,5">
<Label>View tasks for user:</Label>
<ComboBox Name="userList" MinWidth="150"></ComboBox>
</StackPanel>
<ListView Name="taskView" VerticalContentAlignment="Stretch">
<ListView.View>
<GridView>
<GridViewColumn Header="Task" Width="300"/>
<GridViewColumn Header="Hours" Width="50"/>
</GridView>
</ListView.View>
</ListView>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="353*" />
<ColumnDefinition Width="97*" />
<ColumnDefinition Width="53" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Grid.Column="0">Task Description</Label>
<TextBox Grid.Row="1" Grid.Column="0"/>
<Label Grid.Row="0" Grid.Column="1">Hours</Label>
<TextBox Grid.Row="1" Grid.Column="1"/>
<Button Grid.Row="1" Grid.Column="2">Add</Button>
</Grid>
</StackPanel>
</Window>
查看用户的任务:
任务描述
小时
添加
这听起来好像可以帮助您获得所需的结果。在DockPanel中,您可以将视图的部分停靠在窗口的顶部、底部、左侧或右侧。添加的最后一个元素始终覆盖窗口的其余部分。我在下面修改了你的StackPanel代码
<DockPanel>
<Menu DockPanel.Dock="Top" Name="mainMenu" Margin="0,0,0,5">
<MenuItem Header="File">
<MenuItem Header="Quit" />
</MenuItem>
</Menu>
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,0,5">
<Label>View tasks for user:</Label>
<ComboBox Name="userList" MinWidth="150"></ComboBox>
</StackPanel>
<Grid DockPanel.Dock="Bottom">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="353*" />
<ColumnDefinition Width="97*" />
<ColumnDefinition Width="53" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Grid.Column="0">Task Description</Label>
<TextBox Grid.Row="1" Grid.Column="0"/>
<Label Grid.Row="0" Grid.Column="1">Hours</Label>
<TextBox Grid.Row="1" Grid.Column="1"/>
<Button Grid.Row="1" Grid.Column="2">Add</Button>
</Grid>
<ListView Name="taskView" VerticalContentAlignment="Stretch">
<ListView.View>
<GridView>
<GridViewColumn Header="Task" Width="300"/>
<GridViewColumn Header="Hours" Width="50"/>
</GridView>
</ListView.View>
</ListView>
</DockPanel>
查看用户的任务:
任务描述
小时
添加
这可以使用具有4行定义的网格来完成。所有行的高度都应设置为“自动”,但要展开的行除外,该行的高度应设置为“*”
查看用户的任务:
任务描述
小时
添加
<Window x:Class="TaskManager.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" MinWidth="525" MinHeight="400">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Menu Grid.Row="0" Name="mainMenu" Margin="0,0,0,5">
<MenuItem Header="File">
<MenuItem Header="Quit" />
</MenuItem>
</Menu>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,0,5">
<Label>View tasks for user:</Label>
<ComboBox Name="userList" MinWidth="150"></ComboBox>
</StackPanel>
<ListView Grid.Row="2" Name="taskView" VerticalContentAlignment="Stretch">
<ListView.View>
<GridView>
<GridViewColumn Header="Task" Width="300"/>
<GridViewColumn Header="Hours" Width="50"/>
</GridView>
</ListView.View>
</ListView>
<Grid Grid.Row="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="353*" />
<ColumnDefinition Width="97*" />
<ColumnDefinition Width="53" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Grid.Column="0">Task Description</Label>
<TextBox Grid.Row="1" Grid.Column="0"/>
<Label Grid.Row="0" Grid.Column="1">Hours</Label>
<TextBox Grid.Row="1" Grid.Column="1"/>
<Button Grid.Row="1" Grid.Column="2">Add</Button>
</Grid>
</Grid>
</Window>