You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
5.4 KiB
114 lines
5.4 KiB
<?xml version="1.0" encoding="utf-8"?>
|
|
<Window x:Class="ICSharpCode.ILSpy.MainWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:local="clr-namespace:ICSharpCode.ILSpy"
|
|
xmlns:avalondock="https://github.com/Dirkster99/AvalonDock"
|
|
xmlns:controls="clr-namespace:ICSharpCode.ILSpy.Controls"
|
|
xmlns:docking="clr-namespace:ICSharpCode.ILSpy.Docking"
|
|
xmlns:properties="clr-namespace:ICSharpCode.ILSpy.Properties"
|
|
Title="ILSpy"
|
|
MinWidth="250"
|
|
MinHeight="200"
|
|
UseLayoutRounding="True"
|
|
TextOptions.TextFormattingMode="Display"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" d:DesignHeight="500" d:DesignWidth="500"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
|
|
xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
|
|
xmlns:themes="clr-namespace:ICSharpCode.ILSpy.Themes"
|
|
xmlns:toms="urn:TomsToolbox"
|
|
xmlns:viewModels="clr-namespace:ICSharpCode.ILSpy.ViewModels"
|
|
xmlns:composition="urn:TomsToolbox.Composition"
|
|
xmlns:commands="clr-namespace:ICSharpCode.ILSpy.Commands"
|
|
xmlns:analyzers="clr-namespace:ICSharpCode.ILSpy.Analyzers"
|
|
d:DataContext="{d:DesignInstance local:MainWindowViewModel}">
|
|
<Window.Resources>
|
|
|
|
<DataTemplate DataType="{x:Type viewModels:TabPageModel}">
|
|
<ContentPresenter Content="{Binding Content}" />
|
|
</DataTemplate>
|
|
|
|
<DataTemplate DataType="{x:Type viewModels:LegacyToolPaneModel}">
|
|
<ContentPresenter Content="{Binding Content}" />
|
|
</DataTemplate>
|
|
|
|
</Window.Resources>
|
|
|
|
<b:Interaction.Behaviors>
|
|
<themes:WindowStyleManagerBehavior />
|
|
</b:Interaction.Behaviors>
|
|
|
|
<Window.InputBindings>
|
|
<KeyBinding Key="R" Modifiers="Control" Command="{composition:Import analyzers:AnalyzeCommand}" />
|
|
<KeyBinding Key="Z" Modifiers="Control" Command="{x:Static NavigationCommands.BrowseBack}" />
|
|
</Window.InputBindings>
|
|
|
|
<Window.TaskbarItemInfo>
|
|
<TaskbarItemInfo />
|
|
</Window.TaskbarItemInfo>
|
|
|
|
<DockPanel>
|
|
<!-- Main menu -->
|
|
<ContentControl DockPanel.Dock="Top" Content="{composition:Import controls:MainMenu}"/>
|
|
<!-- ToolBar -->
|
|
<ContentControl DockPanel.Dock="Top" Content="{composition:Import controls:MainToolBar}" />
|
|
<!-- Update panel -->
|
|
<ContentControl DockPanel.Dock="Top" Content="{composition:Import viewModels:UpdatePanelViewModel}" />
|
|
<!-- Status bar -->
|
|
<StatusBar x:Name="statusBar" DockPanel.Dock="Bottom" Height="26" Visibility="Collapsed">
|
|
<StatusBarItem DockPanel.Dock="Right">
|
|
<TextBlock VerticalAlignment="Center"
|
|
HorizontalAlignment="Right"
|
|
x:Name="statusLabel"
|
|
ToolTip="{x:Static properties:Resources.Status}"
|
|
Text="{x:Static properties:Resources.StandBy}" />
|
|
</StatusBarItem>
|
|
</StatusBar>
|
|
|
|
<avalondock:DockingManager x:Name="DockManager"
|
|
DataContext="{Binding Workspace}"
|
|
ActiveContent="{Binding ActiveTabPage, Mode=TwoWay, Converter={docking:TabPageGuardConverter}}"
|
|
AllowMixedOrientation="True">
|
|
|
|
<avalondock:DockingManager.DocumentHeaderTemplate>
|
|
<DataTemplate DataType="{x:Type viewModels:PaneModel}">
|
|
<TextBlock x:Name="headerText" Text="{Binding Title}" />
|
|
<DataTemplate.Triggers>
|
|
<DataTrigger Binding="{Binding IsActive}" Value="True">
|
|
<Setter TargetName="headerText" Property="FontWeight" Value="Bold" />
|
|
</DataTrigger>
|
|
</DataTemplate.Triggers>
|
|
</DataTemplate>
|
|
</avalondock:DockingManager.DocumentHeaderTemplate>
|
|
|
|
<avalondock:DockingManager.LayoutItemContainerStyleSelector>
|
|
<docking:PaneStyleSelector>
|
|
<docking:PaneStyleSelector.ToolPaneStyle>
|
|
<Style TargetType="{x:Type avalondock:LayoutAnchorableItem}">
|
|
<Setter Property="Title" Value="{Binding Model.Title}" />
|
|
<Setter Property="Visibility" Value="{Binding Model.IsVisible, Mode=TwoWay, Converter={toms:BooleanToVisibilityConverter VisibilityWhenBooleanIsFalse=Hidden}}" />
|
|
<Setter Property="ContentId" Value="{Binding Model.ContentId}" />
|
|
<Setter Property="IsSelected" Value="{Binding Model.IsSelected, Mode=TwoWay}" />
|
|
<Setter Property="IsActive" Value="{Binding Model.IsActive, Mode=TwoWay}" />
|
|
<Setter Property="CanHide" Value="{Binding Model.IsCloseable}" />
|
|
<Setter Property="HideCommand" Value="{Binding Model.CloseCommand}" />
|
|
<Setter Property="CanClose" Value="{Binding Model.IsCloseable}" />
|
|
<Setter Property="CloseCommand" Value="{Binding Model.CloseCommand}" />
|
|
</Style>
|
|
</docking:PaneStyleSelector.ToolPaneStyle>
|
|
<docking:PaneStyleSelector.TabPageStyle>
|
|
<Style TargetType="{x:Type avalondock:LayoutItem}">
|
|
<Setter Property="Title" Value="{Binding Model.Title}" />
|
|
<Setter Property="Visibility" Value="{Binding Model.IsVisible, Mode=TwoWay, Converter={toms:BooleanToVisibilityConverter VisibilityWhenBooleanIsFalse=Hidden}}" />
|
|
<Setter Property="ContentId" Value="{Binding Model.ContentId}" />
|
|
<Setter Property="IsSelected" Value="{Binding Model.IsSelected, Mode=TwoWay}" />
|
|
<Setter Property="IsActive" Value="{Binding Model.IsActive, Mode=TwoWay}" />
|
|
<Setter Property="CloseCommand" Value="{Binding Model.CloseCommand}" />
|
|
<Setter Property="CanClose" Value="{Binding Model.IsCloseable, Mode=TwoWay}" />
|
|
</Style>
|
|
</docking:PaneStyleSelector.TabPageStyle>
|
|
</docking:PaneStyleSelector>
|
|
</avalondock:DockingManager.LayoutItemContainerStyleSelector>
|
|
</avalondock:DockingManager>
|
|
</DockPanel>
|
|
</Window>
|