我对WPF很陌生。我要转到一个窗口,在该窗口的左侧列上,数据输入显示在ListView
上,而数据输入则显示在其右侧的列上。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="98*"/>
<ColumnDefinition Width="195*" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Vertical" Grid.Row="0">
<Button Name="SaveButton" Content="Save Revision File" />
<Button Name="DeleteSelected" Content="Delete Selected" Click="DeleteSelected_Click" IsEnabled="False"/>
</StackPanel>
<ListView Grid.Row="1" Name="ToAppendListView" SelectionChanged="ToAppendListView_Selected" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch">
<ListView.ItemTemplate>
<DataTemplate>
<WrapPanel>
<TextBlock Text="Look Cover Type: " />
<TextBlock Text="{Binding LookCoverTypeContent.Content}" FontWeight="Bold" />
<TextBlock Text=", " />
<TextBlock Text="Quiz Question: " />
<TextBlock Text="{Binding QuizContent.Content}" FontWeight="Bold" />
<TextBlock Text=", " />
<TextBlock Text="Flashcard Front: " />
<TextBlock Text="{Binding FlashCardContent.Content}" FontWeight="Bold" />
</WrapPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
</StackPanel>
<StackPanel Grid.Column="2">
<!-- Data Input -->
</StackPanel>
</Grid>
</StackPanel>
</Grid>
我的问题是我无法获得ListView
来填充左手列,因此它会动态地向下扩展并离开窗口,并且一个屏幕被填充,它将无法滚动,因此内容显示在窗口之外。
我尝试使用垂直对齐方式拉伸,但是这没有用。是否有办法确保ListView
的位置是固定的,并且在屏幕填满后启用滚动? / p>
答案 0 :(得分:0)
删除Column = 0 StackPanel:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="98*"/>
<ColumnDefinition Width="195*" />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
</Grid>
<StackPanel Grid.Column="1">
<!-- Data Input -->
</StackPanel>
</Grid>
ListView上的VerticalAlignment="Stretch"
可以使用。
我也对Column = 1(不是= 2)中的StackPanel感到怀疑。
关于内部的按钮。