2014-10-26 89 views
4

所以...任何明智的想法我們如何啓用水平內容拉伸在Win RT手機中的分組ListView的GroupHeader模板?水平拉伸 - 組標題ListView

我是耳朵!

我已經添加了一個演示應用程序,所以你可以嘗試一下 - 請在發佈你的答案之前做! 代碼可以在這裏找到https://github.com/Depechie/ListView-HorizontalStretch-RT81

我加了2頁,MainPage有沒有水平拉伸的問題。 MainPage2修復了橫向拉伸,但由於該修復,JumpList(縮小視圖)不再工作。 您可以通過應用程序按鈕從MainPage導航到MainPage2。

這裏的2個視覺

enter image description here enter image description here

回答

11

您的修復過於複雜並且不推薦使用。您需要爲您的組頭的風格是什麼,如下簡單:

<Style x:Key="FixedHeaderContainerStyle" 
     TargetType="ListViewBaseHeaderItem"> 
    <Setter Property="HorizontalContentAlignment" 
      Value="Stretch" /> 
</Style> 

並將其應用到你的ListView像這樣(舊ContainerStyle被棄用與HeaderContainerStyle替換):

<GroupStyle HidesIfEmpty="True" 
      HeaderTemplate="{StaticResource AddrBookGroupHeaderTemplate}" 
      HeaderContainerStyle="{StaticResource FixedHeaderContainerStyle}" /> 

但頭修復不是你的ZoomedOutView停止工作的原因。這個問題是因爲你添加以下到MainPage2:

<ListView.ItemsPanel> 
    <ItemsPanelTemplate> 
     <VirtualizingStackPanel /> 
    </ItemsPanelTemplate> 
</ListView.ItemsPanel> 

VirtualizingStackPanel打破這一點,新的和改進的面板(包括虛擬化是ItemsStackPanel,這也是現在的默認設置,以便省略此完全

+0

是的,我知道VirtualizationSta ckPanel是解決方案2中的問題 - 因此關於縮小視圖的標題不起作用。但感謝風格修復!嘗試過這條路線,但不知道在哪裏以及如何放置它! – Depechie 2014-10-26 20:26:15

0

如果我理解這個問題,添加Width="{Binding ElementName=LayoutRoot, Path=ActualWidth}"MobileAppsGroupHeaderBorder上的MainPage。這將像MainPage2一樣呈現爲全寬度,但跳轉列表功能保持正常。

+1

。說實話,我不喜歡這個想法,當框架應該知道它自身時,我們需要在XAML中添加一個「寬度」,Horizo​​ntalContentAlignment設置爲Stretch是我們不需要設置寬度的原因。 .. – Depechie 2014-10-26 20:27:40

+0

@Depechie是啊可能。但是,我的解決方案適用於你陳述的問題。 – 2014-10-26 20:29:59