我有一个2X2网格,在我的主应用程序窗口中填充了2个Listview控件和一些按钮和文本框。以下是我的XAML代码的一部分:
<Grid Name="Gd">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ListView MinHeight="600" Grid.Column="0" Grid.Row="1" Margin="10">
<ListView.View>
<GridView>
<GridViewColumn Width="330" Header="Module ID" />
</GridView>
</ListView.View>
</ListView>
<ListView MinHeight="600" Grid.Column="0" Grid.Row="2" Margin="10">
<ListView.View>
<GridView>
<GridViewColumn Width="330" Header="Module Name" />
</GridView>
</ListView.View>
</ListView>
</Grid>
我遇到的困难是我不知道如何设置宽度等于Grid列的宽度。我应该在后面的代码中做到吗?另外,另一个问题是上面的代码无法处理Grid调整大小的情况。
理想情况下,我希望ListView控件填充Grid列,并在Grid的大小发生变化时相应地展开/收缩。我想这与ColumnDefinition设置有关,我不太清楚。
有人可以帮忙吗?非常感谢。
答案 0 :(得分:1)
如果要将ListView放在第一列中,则列定义应如下所示:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
Aslo,正如大家已经说过的那样,为HorizontalAlignment="Stretch"
个控件设置ListView
答案 1 :(得分:0)
试试这个.... 如果你想要两个ListViews的高度相等,那么你可以指定rowdefinition height为*,否则你可以给自动.....
<Grid Name="Gd">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ListView HorizontalAlignment="Stretch" Grid.Column="0" Grid.Row="0" Margin="10">
<ListView.View>
<GridView>
<GridViewColumn Width="330" Header="Module ID"/>
</GridView>
</ListView.View>
</ListView>
<ListView HorizontalAlignment="Stretch" Grid.Column="0" Grid.Row="1" Margin="10">
<ListView.View>
<GridView>
<GridViewColumn Width="330" Header="Module Name" />
</GridView>
</ListView.View>
</ListView>
</Grid>