<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:o="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options"
                    xmlns:m="http://metro.mahapps.com/winfx/xaml/controls"
                    xmlns:mi="http://metro.mahapps.com/winfx/xaml/iconpacks"
                    xmlns:md="clr-namespace:MahApps.Metro.Controls.Dialogs;assembly=MahApps.Metro">

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml"/>
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml"/>
        <ResourceDictionary Source="./Sizes.xaml"/>
    </ResourceDictionary.MergedDictionaries>

    <!--
    ************************************************************
    |
    | 基本的なコントロールのスタイルを定義します。
    | プレフィックスは Common. で統一します。
    |
    ************************************************************
    -->

    <!-- アイコン -->
    <Style x:Key="Common.PackIcon" TargetType="{x:Type mi:PackIconBase}" BasedOn="{StaticResource {x:Type mi:PackIconBase}}">
        <Setter Property="Width" Value="{DynamicResource MahApps.Font.Size.Button.ClearText}"/>
        <Setter Property="Height" Value="{DynamicResource MahApps.Font.Size.Button.ClearText}"/>
    </Style>

    <!-- バッジ -->
    <Style x:Key="Common.Badged" TargetType="{x:Type m:Badged}" BasedOn="{StaticResource {x:Type m:Badged}}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
    </Style>

    <!-- テキストブロック -->
    <Style x:Key="Common.TextBlock" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource MahApps.Styles.TextBlock}">
        <!--
          WARN: TextBlock のプロパティは影響範囲が大きいため、基底では原則変更しない
          例えば FontFamily では、TextBox に内包される ClearTextButton のフォントに影響し、正常に描画されない。
        -->
    </Style>

    <!-- ラベル -->
    <Style x:Key="Common.Label" TargetType="{x:Type Label}" BasedOn="{StaticResource MahApps.Styles.Label}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
    </Style>

    <!-- ツールチップ -->
    <Style x:Key="Common.ToolTip" TargetType="{x:Type ToolTip}" BasedOn="{StaticResource MahApps.Styles.ToolTip}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
    </Style>

    <!-- バリデーションポップアップ -->
    <Style x:Key="Common.CustomValidationPopup" TargetType="{x:Type m:CustomValidationPopup}" BasedOn="{StaticResource MahApps.Styles.CustomValidationPopup}">
    </Style>

    <!-- プログレスリング -->
    <Style x:Key="Common.ProgressRing" TargetType="{x:Type m:ProgressRing}" BasedOn="{StaticResource {x:Type m:ProgressRing}}">
    </Style>

    <!-- プログレスバー -->
    <Style x:Key="Common.ProgressBar" TargetType="{x:Type ProgressBar}" BasedOn="{StaticResource MahApps.Styles.ProgressBar}">
    </Style>

    <!-- メトロプログレスバー -->
    <Style x:Key="Common.MetroProgressBar" TargetType="{x:Type m:MetroProgressBar}" BasedOn="{StaticResource MahApps.Styles.MetroProgressBar}">
    </Style>

    <!-- スライダー -->
    <Style x:Key="Common.Slider" TargetType="{x:Type Slider}" BasedOn="{StaticResource MahApps.Styles.Slider}">
    </Style>

    <!-- タイル -->
    <Style x:Key="Common.Tile" TargetType="{x:Type m:Tile}" BasedOn="{StaticResource {x:Type m:Tile}}">
        <Setter Property="TitleFontSize" Value="{DynamicResource MahApps.Font.Size.Default}"/>
        <Setter Property="CountFontSize" Value="{DynamicResource MahApps.Font.Size.Content}"/>
        <Setter Property="Width" Value="{DynamicResource Common.Size.Tile}"/>
        <Setter Property="Height" Value="{DynamicResource Common.Size.Tile}"/>
        <Style.Resources>
            <Style x:Key="_tilePackIcon" TargetType="{x:Type mi:PackIconBase}" BasedOn="{StaticResource Common.PackIcon}">
                <Setter Property="Width" Value="{DynamicResource Common.Size.TileIcon}"/>
                <Setter Property="Height" Value="{DynamicResource Common.Size.TileIcon}"/>
            </Style>
            <Style TargetType="{x:Type mi:PackIconBootstrapIcons}" BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconBoxIcons}"       BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconCodicons}"       BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconCoolicons}"      BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconEntypo}"         BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconEvaIcons}"       BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconFeatherIcons}"   BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconFileIcons}"      BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconFontaudio}"      BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconFontAwesome}"    BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconFontisto}"       BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconForkAwesome}"    BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconIonicons}"       BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconJamIcons}"       BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconMaterialDesign}" BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconMaterial}"       BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconMaterialLight}"  BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconMicrons}"        BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconModern}"         BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconOcticons}"       BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconPicolIcons}"     BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconPixelartIcons}"  BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconRadixIcons}"     BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconRemixIcon}"      BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconRPGAwesome}"     BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconSimpleIcons}"    BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconTypicons}"       BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconUnicons}"        BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconVaadinIcons}"    BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconWeatherIcons}"   BasedOn="{StaticResource _tilePackIcon}"/>
            <Style TargetType="{x:Type mi:PackIconZondicons}"      BasedOn="{StaticResource _tilePackIcon}"/>
        </Style.Resources>
    </Style>

    <!-- ボタン -->
    <Style x:Key="Common.Button" TargetType="{x:Type Button}" BasedOn="{StaticResource MahApps.Styles.Button}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
        <Setter Property="m:ControlsHelper.CornerRadius" Value="0"/>
        <Setter Property="m:ControlsHelper.ContentCharacterCasing" Value="Normal"/>
    </Style>

    <!-- トグルボタン -->
    <Style x:Key="Common.ToggleButton" TargetType="{x:Type ToggleButton}" BasedOn="{StaticResource MahApps.Styles.ToggleButton}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
        <Setter Property="m:ControlsHelper.CornerRadius" Value="0"/>
        <Setter Property="m:ControlsHelper.ContentCharacterCasing" Value="Normal"/>
    </Style>

    <!-- ドロップダウンボタン -->
    <Style x:Key="Common.DropDownButton" TargetType="{x:Type m:DropDownButton}" BasedOn="{StaticResource {x:Type m:DropDownButton}}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
        <!-- ボタンのスタイルに合わせる -->
        <Setter Property="Background" Value="{DynamicResource MahApps.Brushes.Gray10}"/>
        <Setter Property="BorderBrush" Value="{DynamicResource MahApps.Brushes.TextBox.Border}"/>
        <!-- コンテキストメニューのスタイルに合わせる -->
        <Setter Property="MenuStyle" Value="{DynamicResource Common.ContextMenu}"/>
    </Style>

    <!-- ラジオボタン -->
    <Style x:Key="Common.RadioButton" TargetType="{x:Type RadioButton}" BasedOn="{StaticResource MahApps.Styles.RadioButton}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
    </Style>

    <!-- チェックボックス -->
    <Style x:Key="Common.CheckBox" TargetType="{x:Type CheckBox}" BasedOn="{StaticResource MahApps.Styles.CheckBox}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
        <Style.Triggers>
            <Trigger Property="IsEnabled" Value="False">
                <Setter Property="BorderBrush" Value="{DynamicResource MahApps.Brushes.Gray8}"/>
                <Setter Property="Background" Value="{DynamicResource MahApps.Brushes.Gray8}"/>
            </Trigger>
        </Style.Triggers>
    </Style>

    <!-- テキストボックス -->
    <Style x:Key="Common.TextBox" TargetType="{x:Type TextBox}" BasedOn="{StaticResource MahApps.Styles.TextBox}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
    </Style>

    <!-- リッチテキストボックス -->
    <Style x:Key="Common.RichTextBox" TargetType="{x:Type RichTextBox}" BasedOn="{StaticResource MahApps.Styles.RichTextBox}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
    </Style>

    <!-- パスワードボックス -->
    <Style x:Key="Common.PasswordBox" TargetType="{x:Type PasswordBox}" BasedOn="{StaticResource MahApps.Styles.PasswordBox}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
    </Style>

    <!-- 数値入力 -->
    <Style x:Key="Common.NumericUpDown" TargetType="{x:Type m:NumericUpDown}" BasedOn="{StaticResource {x:Type m:NumericUpDown}}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
        <Style.Triggers>
            <Trigger Property="IsReadOnly" Value="True">
                <Setter Property="HideUpDownButtons" Value="True"/>
            </Trigger>
        </Style.Triggers>
    </Style>

    <!-- カレンダー -->
    <Style x:Key="Common.Calendar" TargetType="{x:Type Calendar}" BasedOn="{StaticResource MahApps.Styles.Calendar}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
    </Style>

    <!-- 日付入力-->
    <Style x:Key="Common.DatePicker" TargetType="{x:Type DatePicker}" BasedOn="{StaticResource MahApps.Styles.DatePicker}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
        <Setter Property="m:TextBoxHelper.Watermark" Value="{x:Null}"/>
        <Setter Property="VerticalContentAlignment" Value="Center"/>
        <Setter Property="CalendarStyle">
            <Setter.Value>
                <Style TargetType="{x:Type Calendar}" BasedOn="{StaticResource Common.Calendar}">
                    <Setter Property="LayoutTransform">
                        <Setter.Value>
                            <ScaleTransform ScaleX="1.05" ScaleY="1.05"/>
                        </Setter.Value>
                    </Setter>
                </Style>
            </Setter.Value>
        </Setter>
    </Style>

    <!-- コンボボックスアイテム -->
    <Style x:Key="Common.ComboBoxItem" TargetType="{x:Type ComboBoxItem}" BasedOn="{StaticResource MahApps.Styles.ComboBoxItem}">
    </Style>

    <!-- コンボボックス -->
    <Style x:Key="Common.ComboBox" TargetType="{x:Type ComboBox}" BasedOn="{StaticResource MahApps.Styles.ComboBox}">
        <!-- WaterMark にフォントの設定を適用させる -->
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
    </Style>

    <!-- リストボックスアイテム -->
    <Style x:Key="Common.ListBoxItem" TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource MahApps.Styles.ListBoxItem}">
    </Style>

    <!-- リストボックス -->
    <Style x:Key="Common.ListBox" TargetType="{x:Type ListBox}" BasedOn="{StaticResource MahApps.Styles.ListBox}">
        <Setter Property="FontSize" Value="{DynamicResource MahApps.Font.Size.Content}"/>
    </Style>

    <!-- リストビューアイテム -->
    <Style x:Key="Common.ListViewItem" TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource MahApps.Styles.ListViewItem}">
    </Style>

    <!-- リストビュー -->
    <Style x:Key="Common.ListView" TargetType="{x:Type ListView}" BasedOn="{StaticResource MahApps.Styles.ListView}">
        <Setter Property="FontSize" Value="{DynamicResource MahApps.Font.Size.Content}"/>
    </Style>

    <!-- ツリービューアイテム -->
    <Style x:Key="Common.TreeViewItem" TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource MahApps.Styles.TreeViewItem}">
    </Style>

    <!-- ツリービュー -->
    <Style x:Key="Common.TreeView" TargetType="{x:Type TreeView}" BasedOn="{StaticResource MahApps.Styles.TreeView}">
    </Style>

    <!-- グリッドビュー 列ヘッダ -->
    <Style x:Key="Common.GridViewColumnHeader" TargetType="{x:Type GridViewColumnHeader}" BasedOn="{StaticResource MahApps.Styles.GridViewColumnHeader}">
        <Setter Property="m:ControlsHelper.ContentCharacterCasing" Value="Normal"/>
        <Setter Property="FontWeight" Value="Normal"/>
    </Style>

    <!-- データグリッド 全選択ボタン -->
    <ControlTemplate x:Key="Common.DataGridSelectAllButtonTemplate" TargetType="{x:Type Button}">
        <Grid>
            <Rectangle x:Name="Border" Fill="{DynamicResource MahApps.Brushes.ThemeBackground}"/>
            <Polygon x:Name="Arrow" Fill="{DynamicResource MahApps.Brushes.Gray1}" Margin="8 8 3 3" HorizontalAlignment="Right" VerticalAlignment="Bottom" Opacity="0.15" Points="0,10 10,10 10,0" Stretch="Uniform"/>
            <Border Background="{DynamicResource MahApps.Brushes.Gray7}" VerticalAlignment="Bottom" Height="1.8"/>
        </Grid>
        <ControlTemplate.Triggers>
            <Trigger Property="IsPressed" Value="True">
                <Setter TargetName="Border" Property="Fill" Value="{DynamicResource MahApps.Brushes.Accent2}"/>
            </Trigger>
            <Trigger Property="IsEnabled" Value="False">
                <Setter TargetName="Arrow" Property="Visibility" Value="Collapsed"/>
            </Trigger>
        </ControlTemplate.Triggers>
    </ControlTemplate>

    <!-- データグリッド 列ヘッダ -->
    <Style x:Key="Common.DataGridColumnHeader" TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource MahApps.Styles.DataGridColumnHeader}">
        <Setter Property="m:ControlsHelper.ContentCharacterCasing" Value="Normal"/>
        <Setter Property="FontWeight" Value="Normal"/>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="BorderThickness" Value="0 0 0 2"/>
        <Setter Property="BorderBrush" Value="{DynamicResource MahApps.Brushes.Gray7}"/>
    </Style>

    <!-- データグリッド 行ヘッダ -->
    <Style x:Key="Common.DataGridRowHeader" TargetType="{x:Type DataGridRowHeader}" BasedOn="{StaticResource MahApps.Styles.DataGridRowHeader}">
        <Setter Property="m:ControlsHelper.ContentCharacterCasing" Value="Normal"/>
        <Setter Property="FontWeight" Value="Normal"/>
        <Setter Property="HorizontalContentAlignment" Value="Center"/>
        <Setter Property="BorderThickness" Value="0 0 0 1"/>
        <Setter Property="BorderBrush" Value="{DynamicResource MahApps.Brushes.Gray7}"/>
    </Style>
   
    <!-- データグリッド 行 -->
    <Style x:Key="Common.DataGridRow" TargetType="{x:Type DataGridRow}" BasedOn="{StaticResource MahApps.Styles.DataGridRow}">
    </Style>

    <!-- データグリッド セル -->
    <Style x:Key="Common.DataGridCell" TargetType="{x:Type DataGridCell}" BasedOn="{StaticResource MahApps.Styles.DataGridCell}">
    </Style>

    <!-- データグリッド -->
    <Style x:Key="Common.DataGrid" TargetType="{x:Type DataGrid}" BasedOn="{StaticResource MahApps.Styles.DataGrid}">
        <Setter Property="GridLinesVisibility" Value="Horizontal"/>
        <Setter Property="HorizontalGridLinesBrush" Value="{DynamicResource MahApps.Brushes.Gray7}"/>
    </Style>

    <!-- グリッドスプリッター -->
    <Style x:Key="Common.GridSplitter" TargetType="{x:Type GridSplitter}" BasedOn="{StaticResource MahApps.Styles.GridSplitter}">
        <Setter Property="Background" Value="{DynamicResource MahApps.Brushes.Gray10}"/>
        <Setter Property="HorizontalAlignment" Value="Stretch"/>
        <Setter Property="Focusable" Value="False"/>
    </Style>

    <!-- グループボックス -->
    <Style x:Key="Common.GroupBox" TargetType="{x:Type GroupBox}" BasedOn="{StaticResource MahApps.Styles.GroupBox}">
        <Setter Property="m:HeaderedControlHelper.HeaderFontWeight" Value="Normal"/>
        <Setter Property="m:ControlsHelper.ContentCharacterCasing" Value="Normal"/>
    </Style>

    <!-- エクスパンダー -->
    <Style x:Key="Common.Expander" TargetType="{x:Type Expander}" BasedOn="{StaticResource MahApps.Styles.Expander}">
        <Setter Property="m:HeaderedControlHelper.HeaderFontWeight" Value="Normal"/>
        <Setter Property="m:ControlsHelper.ContentCharacterCasing" Value="Normal"/>
    </Style>

    <!-- スクロールバー -->
    <Style x:Key="Common.ScrollBar" TargetType="{x:Type ScrollBar}" BasedOn="{StaticResource MahApps.Styles.ScrollBar}">
    </Style>

    <!-- スクロールビューワー -->
    <Style x:Key="Common.ScrollViewer" TargetType="{x:Type ScrollViewer}" BasedOn="{StaticResource MahApps.Styles.ScrollViewer}">
    </Style>

    <!-- タブアイテム -->
    <Style x:Key="Common.TabItem" TargetType="{x:Type TabItem}" BasedOn="{StaticResource MahApps.Styles.TabItem}">
    </Style>

    <!-- タブコントロール -->
    <Style x:Key="Common.TabControl" TargetType="{x:Type TabControl}" BasedOn="{StaticResource MahApps.Styles.TabControl.Animated}">
        <Setter Property="m:HeaderedControlHelper.HeaderFontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
        <Setter Property="m:TabControlHelper.Underlined" Value="SelectedTabItem"/>
    </Style>

    <!-- メニューアイテム -->
    <Style x:Key="Common.MenuItem" TargetType="{x:Type MenuItem}" BasedOn="{StaticResource MahApps.Styles.MenuItem}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
    </Style>

    <!-- メニュー -->
    <Style x:Key="Common.Menu" TargetType="{x:Type Menu}" BasedOn="{StaticResource MahApps.Styles.Menu}">
        <Setter Property="KeyboardNavigation.TabNavigation" Value="None"/>
        <Style.Resources>
            <!-- 既定のリソースを打ち消す -->
            <SolidColorBrush x:Key="MahApps.Brushes.SubMenu.Border" Color="{DynamicResource MahApps.Colors.Gray4}" o:Freeze="True"/>
        </Style.Resources>
    </Style>

    <!-- コンテキストメニュー -->
    <Style x:Key="Common.ContextMenu" TargetType="{x:Type ContextMenu}" BasedOn="{StaticResource MahApps.Styles.ContextMenu}">
        <Setter Property="BorderBrush" Value="{DynamicResource MahApps.Brushes.ComboBox.PopupBorder}"/>
        <Style.Resources>
            <!-- WARN: ビジュアルツリーのルート Popup であるためそのままでは Window を参照できない、ContextMenu を開いた要素を起点に探索する -->
            <Style TargetType="{x:Type MenuItem}" BasedOn="{StaticResource Common.MenuItem}">
                <Setter Property="FontFamily" Value="{Binding PlacementTarget.FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}}"/>
            </Style>
            <!-- 既定のリソースを打ち消す -->
            <SolidColorBrush x:Key="MahApps.Brushes.SubMenu.Border" Color="{DynamicResource MahApps.Colors.Gray4}" o:Freeze="True"/>
        </Style.Resources>
    </Style>

    <!-- ツールバー -->
    <Style x:Key="Common.ToolBar" TargetType="{x:Type ToolBar}" BasedOn="{StaticResource MahApps.Styles.ToolBar}">
        <Setter Property="KeyboardNavigation.TabNavigation" Value="None"/>
        <Setter Property="ToolBarTray.IsLocked" Value="True"/>
    </Style>

    <!-- ステータスバーアイテム -->
    <Style x:Key="Common.StatusBarItem" TargetType="{x:Type StatusBarItem}" BasedOn="{StaticResource MahApps.Styles.StatusBarItem}">
        <Setter Property="FontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
        <Setter Property="Foreground" Value="{Binding Foreground, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type StatusBar}}}"/>
    </Style>

    <!-- ステータスバー -->
    <Style x:Key="Common.StatusBar" TargetType="{x:Type StatusBar}" BasedOn="{StaticResource MahApps.Styles.StatusBar}">
    </Style>

    <!-- ウィンドウコマンド -->
    <Style x:Key="Common.WindowCommands" TargetType="{x:Type m:WindowCommands}" BasedOn="{StaticResource MahApps.Styles.WindowCommands}">
        <Setter Property="ShowSeparators" Value="False"/>
        <Setter Property="ShowLastSeparator" Value="False"/>
    </Style>

    <!-- ハンバーガーメニュー -->
    <Style x:Key="Common.HamburgerMenu" TargetType="{x:Type m:HamburgerMenu}" BasedOn="{StaticResource MahApps.Styles.HamburgerMenu}">
        <Setter Property="Foreground" Value="{DynamicResource MahApps.Brushes.ThemeForeground}"/>
        <Setter Property="PaneForeground" Value="{DynamicResource MahApps.Brushes.ThemeForeground}"/>
        <Setter Property="PaneBackground" Value="{DynamicResource MahApps.Brushes.ThemeBackground}"/>
    </Style>

    <!-- フライアウト -->
    <Style x:Key="Common.Flyout" TargetType="{x:Type m:Flyout}" BasedOn="{StaticResource {x:Type m:Flyout}}">
        <Setter Property="m:HeaderedControlHelper.HeaderFontFamily" Value="{Binding FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
        <Setter Property="Theme" Value="Adapt"/>
        <Setter Property="AnimateOpacity" Value="True"/>
        <Setter Property="Opacity" Value="0.95"/>
    </Style>

    <!-- メトロダイアログ -->
    <Style x:Key="Common.CustomDialog" TargetType="{x:Type md:CustomDialog}" BasedOn="{StaticResource {x:Type md:BaseMetroDialog}}">
        <!-- ウィンドウの状態にかかわらずダイアログはアローカーソルに設定する -->
        <Setter Property="Cursor" Value="Arrow"/>
    </Style>

    <!-- メッセージダイアログ -->
    <Style x:Key="Common.MessageDialog" TargetType="{x:Type md:MessageDialog}" BasedOn="{StaticResource {x:Type md:BaseMetroDialog}}">
        <Style.Resources>
            <!--
            INFO: MessageDialog のコンテンツへのスタイル適用
            MessageDialog と CustomDialog は包含関係が異なる。
            
            CustomDialog は、呼び出し元で CustomDialog のインスタンスを生成し、UserControl をコンテンツとして内包して引き渡すため、UserControl 側でスタイルの調整が可能である。
            一方、MessageDialog の場合は、呼び出し元は表示するメッセージを引き渡し、内部処理側で MessageDialog が生成され文字列が代入される。
            したがって UserControl が介在しないため、直接スタイルを編集できない。
            
            構造としては、表示処理の間に MetroWindow が生成され、その Content が MessageDialog であり、この MetroWindow の Owner が呼び出し元のウィンドウになる。
            MahApps.Metro.Controls.Dialogs.DialogManager.ShowModalMessageExternal(...) の実装から確認できる。
            -->
            <Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource Common.TextBlock}">
                <Setter Property="FontFamily" Value="{Binding Owner.FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
            </Style>
            <Style x:Key="_button" TargetType="{x:Type ButtonBase}" BasedOn="{StaticResource MahApps.Styles.Button.Dialogs}">
                <Setter Property="FontFamily" Value="{Binding Owner.FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
            </Style>
            <Style x:Key="_button.Accent" TargetType="{x:Type ButtonBase}" BasedOn="{StaticResource MahApps.Styles.Button.Dialogs.Accent}">
                <Setter Property="FontFamily" Value="{Binding Owner.FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
            </Style>
            <Style x:Key="_button.AccentHighlight" TargetType="{x:Type ButtonBase}" BasedOn="{StaticResource MahApps.Styles.Button.Dialogs.AccentHighlight}">
                <Setter Property="FontFamily" Value="{Binding Owner.FontFamily, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
            </Style>
            <Style x:Key="MahApps.Styles.Button.Dialogs" TargetType="{x:Type Button}" BasedOn="{StaticResource _button}"/>
            <Style x:Key="MahApps.Styles.Button.Dialogs.Accent" TargetType="{x:Type Button}" BasedOn="{StaticResource _button.Accent}"/>
            <Style x:Key="MahApps.Styles.Button.Dialogs.AccentHighlight" TargetType="{x:Type Button}" BasedOn="{StaticResource _button.AccentHighlight}"/>
        </Style.Resources>
    </Style>

    <!-- フリップビュー ナビゲーションボタン -->
    <Style x:Key="Common.FlipView.Navigation" TargetType="{x:Type Button}" BasedOn="{StaticResource MahApps.Styles.Button.FlipView.Navigation}">
        <Setter Property="Height" Value="50"/>
    </Style>

</ResourceDictionary>