【问题标题】:Extended WPF Toolkit CheckComboBox Style in ToolBar工具栏中的扩展 WPF 工具包 CheckComboBox 样式
【发布时间】:2016-12-20 19:58:15
【问题描述】:

我把 xctk CheckComboBox 放到了一个工具栏中。我旁边有一个简单的 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:

  • 这是正常的视觉风格:

  • 这是专注的风格:

非常感谢任何帮助。谢谢各位。

【问题讨论】:

    标签: c# wpf combobox wpftoolkit


    【解决方案1】:

    您可以使用 ItemTemplate 轻松创建复选框组合。参考下面的代码。

    <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; }
    }
    

    【讨论】:

    • 主要问题是,我的模型没有任何 IsChecked 属性并且不能拥有它。我希望通过单个选定项的集合绑定和更新我的选定项,xctk CheckComboBox 可以做到这一点,并且很难再次将其实现到新的组合框中。而且我也不能使用转换器。
    • 无论如何,您的解决方案适用于一个简单的解决方案。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 2016-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多