0
我有一個非常奇怪的網格設計要求......看起來是這樣的:WPF DataGrid的多行標頭
grid http://img219.imageshack.us/img219/3444/columns.png
我需要能夠進行排序兩個頭行...所以如果他們點擊「描述」,它按描述排序。如果他們點擊「狀態」,則按狀態排序。在列標題上使用模板,我可以實現外觀,但我似乎無法找到一種方法來讓每個單元作爲獨特的標題工作。我該如何去做這件事?
編輯:要創建的列標題,我這樣做:
<StackPanel Orientation="Vertical" >
<Border Margin=".5" Background="{StaticResource DarkBlueBackground}" >
<Button Margin="6" Style="{StaticResource StaticLinkButton}"">
<TextBlock HorizontalAlignment="Left" Text="Part Number" MinWidth="40" />
</Button>
</Border>
<Border Margin=".5" Background="{StaticResource LightBlueBackground}" MinWidth="120">
<Button Margin="6" Style="{StaticResource StaticLinkButton}" Content="Part Type"/>
</Border>
</StackPanel>
,它適用於大部分。問題是,當我有一個特別長的數據項(比如一個很長的「零件類型」)時,它伸出了列,但是我的「零件類型」標題邊框沒有伸展。我嘗試使用網格而不是堆疊面板,但使用相同的結果。是否有一種相對簡單的方法可以將標題中的邊框/按鈕/文本塊伸展到列的整個寬度?每個請求
編輯2
顯示標題模板代碼:
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" >
<StackPanel Orientation="Horizontal">
<Border Margin=".5" >
<Button Margin="6" Style="{StaticResource StaticLinkButton}" >
<TextBlock Text="Qty OH" />
</Button>
</Border>
<Border Margin=".5" >
<Button Margin="6" Style="{StaticResource StaticLinkButton}" >
<TextBlock Text="Ord Qty" />
</Button>
</Border>
<Border Margin=".5" >
<Button Margin="6" Style="{StaticResource StaticLinkButton}" >
<TextBlock Text="Ret Qty" />
</Button>
</Border>
<Border Margin=".5" >
<Button Margin="6" Style="{StaticResource StaticLinkButton}" >
<TextBlock Text="Rec Qty" />
</Button>
</Border>
<Border Margin=".5" >
<Button Margin="6" Style="{StaticResource StaticLinkButton}" KeyboardNavigation.IsTabStop="False" >
<TextBlock MinWidth="90" MinHeight="27" Text="Quantity" />
</Button>
</Border>
</StackPanel>
<Border Margin=".5" Background="{StaticResource LightBlueBackground}">
<Button ="Part Type" KeyboardNavigation.IsTabStop="False"/>
</Border>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
這就行了,非常感謝。 – drowned 2011-05-24 20:25:24
不客氣,很高興幫助:) – 2011-05-24 20:30:20