2011-09-07 77 views
0

我正在構建一個複合應用程序,其中包括提供一個區域插件(基於統一)來註冊視圖。基於該地區註冊視圖的不同控制

問題是我想根據註冊視圖的數量爲該區域設置不同的佈局。特別是我希望有一個巨大的(單向拉伸的)單一區域用於'已登記的'視圖的情況和一個用於'已登記的視圖'的情況的雙列(統一的)網格。

所以 - 現在我有(簡體)是這樣的:

<ItemsControl 
     rgn:RegionManager.RegionName="{x:Static Member=i:RegionNames.MainContentRegion}" 
     HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" 
     VerticalAlignment="Stretch" VerticalContentAlignment="Stretch"> 
     <ItemsControl.ItemsPanel> 
      <ItemsPanelTemplate> 
       <UniformGrid Columns="2" 
        VerticalAlignment="Stretch" 
        HorizontalAlignment="Stretch" /> 
      </ItemsPanelTemplate>     
     </ItemsControl.ItemsPanel> 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <ContentPresenter 
        HorizontalAlignment="Stretch" 
        VerticalAlignment="Stretch" /> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
    </ItemsControl> 

我如何可以覆蓋特殊的「一元只有」的情況下,如果意見〜〜動態和其他地方註冊的?

回答

0

當Items.Count == 1時,您可以使用觸發器將ItemsPanelTemplate更改爲另一個面板。