вещи попробовать:
, но реальный вопрос: почему?
Это пример того, как получить список с областью итогов в конце. Ширина столбца привязана между каждым столбцом и его общей
<Window x:Class="WpfApplication2.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="Window1"
x:Name="ctl"
Height="300"
Width="300">
<Window.Resources>
<GridViewColumnCollection x:Key="gvcc">
<GridViewColumn Width="{Binding Path=ActualWidth, ElementName=col1}"
Header="Date" />
<GridViewColumn Width="{Binding Path=ActualWidth, ElementName=col2}"
Header="Day Of Week"
DisplayMemberBinding="{Binding DayOfWeek}" />
<GridViewColumn Width="{Binding Path=ActualWidth, ElementName=col3}"
Header="Year"
DisplayMemberBinding="{Binding Year}" />
</GridViewColumnCollection>
</Window.Resources>
<Grid>
<DockPanel HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
LastChildFill="True">
<GridViewRowPresenter Name="listview_total"
DockPanel.Dock="Bottom"
Margin="0,5,0,5"
Columns="{StaticResource gvcc}">
<GridViewRowPresenter.Content>
<sys:DateTime>2005/2/1</sys:DateTime>
</GridViewRowPresenter.Content>
</GridViewRowPresenter>
<ListView x:Name="listview_rows"
SelectionMode="Single"
DockPanel.Dock="Top"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListView.View>
<GridView>
<GridViewColumn x:Name="col1"
Header="Date" />
<GridViewColumn x:Name="col2"
Header="Day Of Week"
DisplayMemberBinding="{Binding DayOfWeek}" />
<GridViewColumn x:Name="col3"
Header="Year"
DisplayMemberBinding="{Binding Year}" />
</GridView>
</ListView.View>
<sys:DateTime>1/2/3</sys:DateTime>
<sys:DateTime>4/5/6</sys:DateTime>
<sys:DateTime>7/8/9</sys:DateTime>
<sys:DateTime>10/11/12</sys:DateTime>
<sys:DateTime>1/2/3</sys:DateTime>
<sys:DateTime>4/5/6</sys:DateTime>
<sys:DateTime>7/8/9</sys:DateTime>
<sys:DateTime>10/11/12</sys:DateTime>
<sys:DateTime>1/2/3</sys:DateTime>
<sys:DateTime>4/5/6</sys:DateTime>
<sys:DateTime>7/8/9</sys:DateTime>
<sys:DateTime>10/11/12</sys:DateTime>
<sys:DateTime>1/2/3</sys:DateTime>
<sys:DateTime>4/5/6</sys:DateTime>
<sys:DateTime>7/8/9</sys:DateTime>
<sys:DateTime>10/11/12</sys:DateTime>
</ListView>
</DockPanel>
</Grid>
</Window>
Похоже, что вам нужно второе представление списка ниже первого, с каким-то способом синхронизировать размеры столбцов. Есть ли событие, которое вы можете подключить, чтобы сообщить, что пользователь изменил размер определенного столбца? (Я не совсем человек WPF, но WinForms предлагает события ColumnSizeChanged и ColumnSizeChanging.) Это немного грубо, но если вы по существу не откатываете свой собственный настраиваемый элемент управления списком, я не знаю, собираетесь ли вы добиться большего .
Если источником данных является StaticRes , вы можете использовать составную коллекцию. Я действительно хочу, чтобы это работало где-нибудь еще. Грустно, правда. В любом случае это действительно хорошо, если вы можете им пользоваться.
<ListView>
<ListView.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{StaticResource MyCollection} />
<ListViewItem>Last Item</ListViewItem>
</CompositeCollection>
</ListView.ItemsSource>
</ListView>
Наслаждайтесь!