ここに私の神経質になっているものがあります:
私の仕事はアプリケーションのスタイルを変更することなので、私はそれを書きませんでした。コード (.cs または .xaml) を少し変更する必要があります。問題は avalonDock 内にあります...パネルから境界線を削除したり、色を変更したりできません。
これはコードの一部であり、dockingManager パーツが定義されています (MainView.xaml と呼びましょう)。
<ad:DockingManager Name="dockingManager" >
<ad:ResizingPanel Orientation="Horizontal">
<ad:DockablePane ad:ResizingPanel.ResizeWidth="50" Name="navigatorHostCtrlPane" >
<ad:DockableContent Name="navigatorHostCtrl" Title="{StaticResource Navi}" IsCloseable="False" Background="Transparent"/>
</ad:DockablePane>
<ad:ResizingPanel Orientation="Vertical" >
<ad:DockablePane Name="mainPane" >
<ad:DockableContent x:Name="mainHostCtrl" Title="{StaticResource Sc}" AllowDrop="False" IsCloseable="False" ClipToBounds="False" Background="White"/>
</ad:DockablePane>
<ad:DockablePane ad:ResizingPanel.ResizeHeight="250" >
<ad:DockableContent Name="dataHostCtrl" Title="{StaticResource Dt}" IsCloseable="False" Background="White"/>
</ad:DockablePane>
</ad:ResizingPanel>
</ad:ResizingPanel>
</ad:DockingManager>
そして、これは次のように.csファイル(MainView.xaml.cs)にパーツが設定されている場所です:
BindRegionToGui(regionManager, RegionNames.NavigatorRegion, navigatorHostCtrl);
そして BindRegionToGui():
private static void BindRegionToGui(IRegionManager regionManager, string regionName, UIElement content)
{
var reg = (AvalonDockRegion)regionManager.Regions[regionName];
reg.Bind(content);
}
BorderThickness = “1” を設定するか、スタイル定義で、要素でも外側の境界線のスタイルを変更できません。
<Style x:Key="{x:Type ad:DockablePane}" TargetType="{x:Type ad:DockablePane}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property=“BorderThickness“ Value=“0“/>
</Style>
次のようにスタイルを設定することで、dockingPanes全体を変更できます(いくつかの例の後):
<Style TargetType="{x:Type ad:DockablePane}">
…
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ad:DockablePane}">
<Border
Background=….
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
しかし、これではコンテンツが表示されません。content.template がそれをオーバーライドすると思いますが、アプリケーションの定義済みパネルをどのように配置できるかわかりません。
ばかげた質問で申し訳ありませんが、私は xaml/c# の初心者なので、ちょっと困った状況です。