我的页脚目前由一个标签和一个 ItemsControl 组成。它需要低于 2 个相似的 DataGrid 控件,因为它们都包含一个固定宽度的列,用于一周中的每一天和它的结尾(这是页脚中的 ItemsControl 的总计)。
我正在尝试解决对齐问题,这似乎最容易将日期列正确对齐。我想我可以使用 DockPanel 作为容器并在 ItemsControl 上使用 Dock=Right ,如下所示,但一切都从标签之后的左侧开始。
<DockPanel x:Name="columnTotals" DockPanel.Dock="Bottom" >
<Label ... DockPanel.Dock="Left" Width="Auto">Grand Totals</Label>
<ItemsControl DockPanel.Dock="Right"
ItemsSource="{Binding Path=TotalTimeViewModels, Mode=OneWay}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DockPanel>
所以我在这篇文章中的主要问题是:为什么 ItemsControl 实际上不停靠在它的父容器(目前也是一个 DockPanel)的右侧?
干杯,
贝里尔
第二个更复杂的问题是如何使页脚与 DataGrid 列对齐。迄今为止,我的主要想法是利用最后一列始终相同且宽度固定的事实。
我可以使用 FlowDirection=RightToLeft 和 8 个子标签(而不是一个 ItemsControl)使事情与 StackPanel 对齐,但这具有使 XAML 臃肿的缺点,并且需要文本为 RightToLeft 以反转容器流 - 它很乱并且看起来令人困惑。
我猜页脚也可能是另一个DataGrid,但列不一样,所以我仍然必须通过像现在这样从右到左工作来解决对齐问题,或者弄清楚起点是什么日列是最初和调整大小之后(我不知道该怎么做)。
再次感谢您阅读本文和干杯,
Berryl