Material Design In XAML ToolkitのComboBoxを旧型式にする

2020-03-25

コンボボックスにMaterial Design In XAML Toolkitを適用すると、
現在選択されている項目が、ドロップダウンの一覧に表示されない形式となる。

<Controls:MetroWindow x:Class="WpfApp6.MainWindow"
        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:WpfApp6"
        xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
        mc:Ignorable="d"
        Title="MainWindow" Height="200" Width="300">
    <Grid>

        <ComboBox Margin="10,23,45,113">
            <ComboBoxItem>
                茨城県
            </ComboBoxItem>
            <ComboBoxItem>
                栃木県
            </ComboBoxItem>
            <ComboBoxItem>
                群馬県
            </ComboBoxItem>
            <ComboBoxItem>
                埼玉県
            </ComboBoxItem>
        </ComboBox>
    </Grid>
</Controls:MetroWindow>

スタイルの設定にて、旧型式を指定することで、従来のコンボボックスと
同等の動きとなる。

<Controls:MetroWindow x:Class="WpfApp6.MainWindow"
        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:WpfApp6"
        xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
        xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
        mc:Ignorable="d"
        Title="MainWindow" Height="200" Width="300">
    <Grid>

        <ComboBox Margin="10,23,45,113">
            <ComboBox.Style>
                <Style TargetType="ComboBox" BasedOn="{StaticResource {x:Type ComboBox}}">
                    <Setter Property="materialDesign:ComboBoxAssist.ClassicMode" Value="true" />
                </Style>
            </ComboBox.Style>
            <ComboBoxItem>
                茨城県
            </ComboBoxItem>
            <ComboBoxItem>
                栃木県
            </ComboBoxItem>
            <ComboBoxItem>
                群馬県
            </ComboBoxItem>
            <ComboBoxItem>
                埼玉県
            </ComboBoxItem>
        </ComboBox>
    </Grid>
</Controls:MetroWindow>