ToolBar中的扩展WPF工具包CheckComboBox样式

时间:2016-12-20 19:58:15

标签: c# wpf combobox wpftoolkit

我将xctk CheckComboBox放入ToolBar。我旁边有一个简单的ComboBox,这两个看起来不同。简单的ComboBox具有ToolBar.ComboBoxStyleKey(https://msdn.microsoft.com/en-us/library/system.windows.controls.toolbar.comboboxstylekey(v=vs.110).aspx)的样式。但它不适用于CheckComboBox。

从ComboBox派生我自己的CheckComboBox(然后具有相同的样式)或更改CheckComboBox的样式是否更简单?

如何更改外观以使CheckComboBox看起来像ComboBox?

在左边,有ComboBox,右边有一个CheckComboBox:

  • 这是正常的视觉风格:

This is normal visual style

  • 这是专注的风格:

enter image description here

非常感谢任何帮助。谢谢你们,伙计们。

1 个答案:

答案 0 :(得分:0)

您可以使用ItemTemplate轻松创建checkboxcombo。请参阅下面的代码。

<Grid>
    <StackPanel>
        <ComboBox x:Name="cbo">
            <ComboBox.ItemTemplate>
                <DataTemplate DataType="local:MyCombo">
                    <StackPanel Orientation="Horizontal">
                        <CheckBox IsChecked="{Binding IsChecked}"/>
                        <TextBlock Text="{Binding Name}"/>
                    </StackPanel>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>
    </StackPanel>
</Grid>

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        List<MyCombo> lst = new List<MyCombo>();
        for (int i = 0; i < 10; i++)
        {
            lst.Add(new MyCombo() {IsChecked = true,Name = "Name"+i});
        }
        cbo.ItemsSource = lst;
    }
}

public class MyCombo
{
    public bool IsChecked { get; set; }

    public string Name { get; set; }
}