을 보여 나던 :이 경우, How to place instance of window in LayoutAnchorable AvalonDock 2AvalonDock LayoutAnchorable 내가이 여기에 질문 befoere 것처럼 약간 같은 문제가 제어
을 내가 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의 제한이 있습니까? 그렇게하는 것이 가장 좋은 방법은 무엇입니까?
https://github.com/AndersMalmgren/FreePIE/blob/master/FreePIE.GUI/Shells/MainShellView.xaml
그런 다음 응용 프로그램을 시작하고 당신이 그것을 원하는처럼 패널을 구성
업데이트
<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>
레이아웃 구성 파일을 사용하는 아이디어가 아직 마음에 들지 않았습니다. 나는 그것을 미래에 사용하려고 노력할 것입니다. 문제는 Anchors가 숨겨져 있지 않으면 컨트롤의 내용을 볼 수 있지만 숨겨진 경우에는 그렇지 않다는 것입니다. – Insight
그 나, 다시 지금 나는 이유를 안다. MetroWindow는 'AllowTransparency'를 true로 설정합니다. false로 설정하면이 문제는 사라지고 임베디드 웹 브라우저도 현재 작동하는 것처럼 보입니다. 그래도, 아마도 레이아웃을위한 설정이 필요할 것입니다. – Insight