|
<Window x:Class="ClassicStyle.MainWindow" |
|
x:Name="MainWindow1" |
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" |
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" |
|
xmlns:local="clr-namespace:ClassicStyle" |
|
mc:Ignorable="d" |
|
ResizeMode="CanResizeWithGrip" |
|
Title="MainWindow" Height="350" Width="525" |
|
Icon="small.ico"> |
|
|
|
<Window.Resources> |
|
|
|
<!-- Window用カラー --> |
|
<SolidColorBrush x:Key="ClassicMainBackgroundKey" Color="#FFF0F0F0"/> |
|
<SolidColorBrush x:Key="ClassicMainForegroundKey" Color="Black"/> |
|
<SolidColorBrush x:Key="ClassicMainBorderBrushKey" Color="#FFF0F0F0"/> |
|
|
|
<!-- Converter --> |
|
<local:BorderThicknessByWindowStateConverter x:Key="BorderThicknessByWindowStateConverterKey"/> |
|
<local:BackgroundBorderConverter x:Key="BackgroundBorderConverterKey"/> |
|
<local:CaptionBarBackgroundConverter x:Key="CaptionBarBackgroundConverterKey"/> |
|
<local:MaximizeCaptionButtonContentConverter x:Key="MaximizeCaptionButtonContentConverterKey"/> |
|
<local:MaximizeCaptionButtonTooltipConverter x:Key="MaximizeCaptionButtonTooltipConverter"/> |
|
<local:MaximizeCaptionButtonEnableConverter x:Key="MaximizeCaptionButtonEnableConverterKey"/> |
|
<local:ResizeCaptionButtonVisibilityConverter x:Key="ResizeCaptionButtonVisibilityConverter"/> |
|
</Window.Resources> |
|
|
|
<WindowChrome.WindowChrome> |
|
<WindowChrome CaptionHeight="{x:Static SystemParameters.CaptionHeight}" |
|
ResizeBorderThickness="{x:Static SystemParameters.WindowResizeBorderThickness}" |
|
GlassFrameThickness="0,0,0,1"/> |
|
</WindowChrome.WindowChrome> |
|
|
|
<Window.CommandBindings> |
|
<CommandBinding Command="{x:Static SystemCommands.CloseWindowCommand}" |
|
Executed="CloseWindow"/> |
|
<CommandBinding Command="{x:Static SystemCommands.MaximizeWindowCommand}" |
|
Executed="MaximizeOrRestoreWindow"/> |
|
<CommandBinding Command="{x:Static SystemCommands.MinimizeWindowCommand}" |
|
Executed="MinimizeWindow"/> |
|
</Window.CommandBindings> |
|
|
|
<Border BorderBrush="{StaticResource ClassicMainBorderBrushKey}" |
|
BorderThickness="{Binding WindowState, |
|
Converter={StaticResource BorderThicknessByWindowStateConverterKey}, |
|
ElementName=MainWindow1}" |
|
Background="{StaticResource ClassicMainBackgroundKey}"> |
|
<Grid> |
|
|
|
<!-- 上からタイトルバー、コンテンツ --> |
|
<Grid.RowDefinitions> |
|
<RowDefinition Height="{x:Static SystemParameters.CaptionHeight}"/> |
|
<RowDefinition Height="*"/> |
|
</Grid.RowDefinitions> |
|
|
|
<!-- タイトルバー --> |
|
<Grid Grid.Row="0" |
|
Background="{Binding IsActive, |
|
Converter={StaticResource CaptionBarBackgroundConverterKey}, |
|
ElementName=MainWindow1}"> |
|
|
|
<!-- 左からアイコン、タイトル、コマンドボタン --> |
|
<Grid.ColumnDefinitions> |
|
<ColumnDefinition Width="Auto"/> |
|
<ColumnDefinition Width="*"/> |
|
<ColumnDefinition Width="Auto"/> |
|
</Grid.ColumnDefinitions> |
|
|
|
<Image Grid.Column="0" |
|
Margin="3" |
|
Source="{Binding Icon, ElementName=MainWindow1}"/> |
|
|
|
<!-- ウィンドウタイトルを表示します。 --> |
|
<Grid Grid.Column="1"> |
|
<StackPanel HorizontalAlignment="Left" |
|
VerticalAlignment="Center"> |
|
<TextBlock Text="{Binding Title, ElementName=MainWindow1}" |
|
Foreground="White" |
|
Padding="5,0"/> |
|
</StackPanel> |
|
</Grid> |
|
|
|
<!-- 最小化、最大化、閉じるボタンを設置します。 --> |
|
<Grid Grid.Column="2"> |
|
<StackPanel Orientation="Horizontal" |
|
Margin="0,0,2,0" |
|
HorizontalAlignment="Right" |
|
VerticalAlignment="Center" |
|
TextBlock.FontFamily="Marlett"> |
|
<Button Content="0" |
|
Focusable="False" |
|
WindowChrome.IsHitTestVisibleInChrome="True" |
|
Visibility="{Binding ResizeMode, Converter={StaticResource ResizeCaptionButtonVisibilityConverter}, ElementName=MainWindow1}" |
|
ToolTip="最小化" |
|
Command="{x:Static SystemCommands.MinimizeWindowCommand}" /> |
|
<Button Content="{Binding WindowState,Converter={StaticResource MaximizeCaptionButtonContentConverterKey}, ElementName=MainWindow1}" |
|
Focusable="False" |
|
WindowChrome.IsHitTestVisibleInChrome="True" |
|
IsEnabled="{Binding ResizeMode, Converter={StaticResource MaximizeCaptionButtonEnableConverterKey}, ElementName=MainWindow1}" |
|
Visibility="{Binding ResizeMode, Converter={StaticResource ResizeCaptionButtonVisibilityConverter}, ElementName=MainWindow1}" |
|
ToolTip="{Binding WindowState, Converter={StaticResource MaximizeCaptionButtonTooltipConverter}, ElementName=MainWindow1}" |
|
Command="{x:Static SystemCommands.MaximizeWindowCommand}"/> |
|
<Button Content="r" |
|
Focusable="False" |
|
WindowChrome.IsHitTestVisibleInChrome="True" |
|
Margin="2,0,0,0" |
|
ToolTip="閉じる" |
|
Command="{x:Static SystemCommands.CloseWindowCommand}"/> |
|
</StackPanel> |
|
</Grid> |
|
|
|
</Grid> |
|
|
|
<!-- コンテンツ --> |
|
<Grid Grid.Row="1"> |
|
<Button Content="Button1" |
|
Margin="10" |
|
Width="120" Height="30" |
|
HorizontalAlignment="Center" |
|
VerticalAlignment="Center" |
|
Click="Button_Click"/> |
|
</Grid> |
|
|
|
</Grid> |
|
</Border> |
|
</Window> |