基本上我有两个相关的问题:
1)与这个问题How do I make an ItemsControl stretch to fill all availible space?相同的问题是,基本上ItemsControl
并不能填满整个空间,而DockedPanel
提供的解决方案对我不起作用,因为我需要物品垂直堆叠而不是水平堆叠。除了使用复杂的动态网格,还有其他方法可以实现这一目标吗?
2)当我在问题WPF MVVM Multiple ContentControls in TabControl中使用方法时,DataGrid
的显示方式似乎有些偏离。
由于某些原因,标题被压到了一边,并且还在表中添加了信息,这使它看起来非常糟糕。如果我没有使用ItemsControl
的这种方法来显示表格,通常不会发生这种情况。
TabControl的代码:
<TabControl ItemsSource="{Binding Tabs}">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Header}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<ItemsControl ItemsSource="{Binding Content}"/>
</ScrollViewer>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
绑定到上述DataGrid
的{{1}}(UserControl
)中view.xaml
的代码:
TabControl
删除页眉样式无济于事。
答案 0 :(得分:2)
从ScrollViewer
中删除ContentTemplate
元素。 DataGrid
在其默认ScrollViewer
中内置了自己的ControlTemplate
元素。
答案 1 :(得分:0)
我实际上找到了答案,并且所接受的答案是正确的(有一种解决方法):
WPF ScrollViewer around DataGrid affects column width
关于我的第一个问题,我只是坚持使用UniformGrid
并将其行数绑定到ViewModel。