2013-10-15 108 views
1

我稍微同樣的問題就像是問這裏befoere: How to place instance of window in LayoutAnchorable AvalonDock 2AvalonDock LayoutAnchorable犯規顯示控制

在這種情況下,我使用AvalonDock 2.0時許,Caliburn.Micro和Mahapps.Metro。

看來,我實際上可以將我的viewmodel映射到'LayoutAnchorable',但是當我點擊它時,它不會顯示該控件的內容(它是MetroContentControl)。我應該如何放置它......它看起來像一個看不見的ContentControl正在顯示。

XAML碼

<ad:LayoutRoot.BottomSide> 
        <ad:LayoutAnchorSide> 
         <ad:LayoutAnchorGroup> 
          <ad:LayoutAnchorable Title="Test" ContentId="123"> 
           <DataTemplate> 
            <Controls:MetroContentControl cal:View.Model="{Binding ActiveLogViewModel}" /> 
           </DataTemplate> 
          </ad:LayoutAnchorable> 
         </ad:LayoutAnchorGroup> 
        </ad:LayoutAnchorSide> 
       </ad:LayoutRoot.BottomSide> 

是否有AD 2.0在使用和放置控制的限制?這樣做的最佳做法是什麼?

更新

<ad:DockingManager x:Name="adManagerTop" DocumentsSource="{Binding DocumentSources}" Margin="0,0,0,40"> 
      <ad:DockingManager.Theme> 
       <ad:MetroTheme /> 
      </ad:DockingManager.Theme> 
      <ad:DockingManager.LayoutItemContainerStyle> 
       <Style TargetType="{x:Type ad:LayoutItem}"> 
        <Setter Property="Title" Value="{Binding Model.Title}"/> 
        <Setter Property="CanClose" Value="{Binding Model.CanClose}"/> 
        <Setter Property="CanFloat" Value="{Binding Model.CanFloat}" /> 
       </Style> 
      </ad:DockingManager.LayoutItemContainerStyle> 
      <ad:DockingManager.LayoutItemTemplate> 
       <DataTemplate> 
        <Controls:MetroContentControl cal:View.Model="{Binding Content}" /> 
       </DataTemplate> 
      </ad:DockingManager.LayoutItemTemplate> 
      <ad:LayoutRoot> 
       <ad:LayoutPanel> 
        <ad:LayoutDocumentPane /> 
       </ad:LayoutPanel> 
      </ad:LayoutRoot> 

    </ad:DockingManager> 

回答

0

我只想結合AnchorablesSourceDocumentsSource我沒有像這樣在我的應用程序

https://github.com/AndersMalmgren/FreePIE/blob/master/FreePIE.GUI/Shells/MainShellView.xaml

然後啓動應用程序,就像你想要整理板當用戶第一次啓動程序時。使用XmlLayoutSerializer將狀態保存到磁盤,將XML作爲您的程序中的資源。加載佈局時,請使用光盤上的佈局(如果存在)或使用嵌入在程序中的佈局。

+0

使用佈局配置文件的想法還沒有跨過我的想法。我將在未來嘗試使用它。問題是,如果錨沒有隱藏,可以看到控件的內容,但是如果隱藏,它不會。 – Insight

+0

它再次,我現在知道爲什麼。 MetroWindow將'AllowTransparency'設置爲true。如果我將其設置爲false,則此問題消失,嵌入式Web瀏覽器似乎也可以工作。不過,我需要一個可能的佈局配置。 – Insight