【发布时间】:2017-10-17 09:49:10
【问题描述】:
所以正如问题所暗示的那样,我无法让滚动条显示在我的 listView 中。用 Grid 替换 StackPanel 是可行的,但问题是我在选项卡控件中拥有的两个列表视图然后堆叠在彼此的顶部和我拥有的标签上。有什么建议吗?
<DockPanel VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Height="422" Width="780" Margin="200,0,0,0" Background="#FF89BBF7">
<TabControl VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="20,0,0,0" Background="#FF89BBF7">
<TabItem Header="Active Calls">
<TabItem.Background>
<LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
<GradientStop Color="#FFF3F3F3" Offset="0"/>
<GradientStop Color="#FFEBEBEB" Offset="0.5"/>
<GradientStop Color="#FFDDDDDD" Offset="0.5"/>
<GradientStop Color="#FF89BBF7" Offset="1"/>
</LinearGradientBrush>
</TabItem.Background>
<Grid Background="#FF89BBF7" HorizontalAlignment="Stretch">
<StackPanel>
<ListView Name="lvwCalls" HorizontalAlignment="Stretch" VerticalAlignment="Top" Height="Auto" Margin="10,10,10,40" >
<ListView.View>
<GridView>
<GridViewColumn Header="Priority" Width="50" DisplayMemberBinding="{Binding priority}" />
<GridViewColumn Header="Call Status" Width="60" DisplayMemberBinding="{Binding callStatus}" />
<GridViewColumn Header="Call Type" Width="60" DisplayMemberBinding="{Binding callType}" />
<GridViewColumn Header="Dispatched Persons" Width="120" DisplayMemberBinding="{Binding dispatchedPersons}" />
<GridViewColumn Header="Region" Width="50" DisplayMemberBinding="{Binding region}" />
<GridViewColumn Header="Location" Width="80" DisplayMemberBinding="{Binding location}"/>
<GridViewColumn Header="Specific Location" Width="100" DisplayMemberBinding="{Binding specLocation}" />
<GridViewColumn Header="Time" Width="50" DisplayMemberBinding="{Binding time}" />
<GridViewColumn Header="Dispatch #" Width="60" DisplayMemberBinding="{Binding dispatchNumber}" />
<GridViewColumn Header="Address" Width="60" DisplayMemberBinding="{Binding address}" />
</GridView>
</ListView.View>
</ListView>
<Label Content="Pending Calls:"/>
<ListView HorizontalAlignment="Stretch" VerticalAlignment="Top" Height="Auto" Margin="10,10,10,50" >
<ListView.View>
<GridView>
<GridViewColumn Header="Priority" Width="120" DisplayMemberBinding="{Binding Priority}" />
<GridViewColumn Header="Call Type" Width="120" DisplayMemberBinding="{Binding CallType}" />
<GridViewColumn Header="Location" Width="150" DisplayMemberBinding="{Binding Location}" />
<GridViewColumn Header="Specific Location" Width="100" DisplayMemberBinding="{Binding SpecLocation}" />
<GridViewColumn Header="Time" Width="100" DisplayMemberBinding="{Binding Time}" />
<GridViewColumn Header="Dispatch #" Width="100" DisplayMemberBinding="{Binding DispatchNumber}" />
</GridView>
</ListView.View>
</ListView>
</StackPanel>
</Grid>
</TabItem>
<TabItem Header="History">
<Grid Background="#FF89BBF7">
<StackPanel>
<ListView HorizontalAlignment="Stretch" VerticalAlignment="Top" Height="Auto" Margin="10,10,10,20" >
<ListView.View>
<GridView>
<GridViewColumn Header="Call Time" Width="70" DisplayMemberBinding="{Binding CallTime}" />
<GridViewColumn Header="Location" Width="80" DisplayMemberBinding="{Binding Location}" />
<GridViewColumn Header="Specific Location" Width="100" DisplayMemberBinding="{Binding SpecLocation}" />
<GridViewColumn Header="Dispatch Number" Width="120" DisplayMemberBinding="{Binding DispatchNumber}" />
<GridViewColumn Header="Description" Width="80" DisplayMemberBinding="{Binding Description}" />
<GridViewColumn Header="Report Number" Width="100" DisplayMemberBinding="{Binding ReportNumber}" />
<GridViewColumn Header="Group" Width="60" DisplayMemberBinding="{Binding Group}" />
<GridViewColumn Header="Address" Width="80" DisplayMemberBinding="{Binding Address}" />
</GridView>
</ListView.View>
</ListView>
</StackPanel>
</Grid>
</TabItem>
</TabControl>
</DockPanel>
【问题讨论】:
-
将 StackPanel 替换为具有 x 个 RowDefinitons 的 Grid。
-
StackPanel 允许子元素有无限的空间。网格的工作方式不同,您可以为多个嵌套控件创建多个
RowDefinition