Мой нижний колонтитул в настоящее время состоит из ярлыка и элемента управления. Он должен быть ниже двух элементов управления DataGrid, которые похожи друг на друга, поскольку оба они содержат столбец фиксированной ширины для каждого дня недели и конца (что и есть для элемента ItemsControl в нижнем колонтитуле).wpf datagrid footer layout
Я пытаюсь решить выравнивание, которое кажется самым легким, чтобы выровнять столбцы дня вправо. Я думал, что могу использовать DockPanel в качестве контейнера и Dock = Right на ItemsControl, как показано ниже, но все начинается слева после метки.
<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)?
Cheers,
Berryl
Вторичный и более сложный вопрос заключается в том, чтобы сделать колонтитул линию с DataGrid столбцами. Моя главная мысль на сегодняшний день заключалась в том, чтобы использовать тот факт, что последние столбцы всегда одинаковы и их ширина фиксирована.
Я могу сделать вещи линейными с помощью StackPanel, используя FlowDirection = RightToLeft и 8 дочерних меток (в отличие от одного элемента ItemsControl), но это имеет недостатки, связанные с тем, что XAML вздувается и требует, чтобы текст был RightToLeft, чтобы отменить контейнер поток - это грязный и запутанный взгляд.
Я думаю, что нижний колонтитул также может быть другим DataGrid, но столбцы не будут одинаковыми, поэтому мне все равно придется решать выравнивание, работая справа налево, как я сейчас делаю, или выясню, что начальная точка столбцов дня - как первоначально, так и после изменения размера (я не знаю, как это сделать).
Опять же, спасибо за чтение этого и Cheers,
Berryl