代码之家  ›  专栏  ›  技术社区  ›  Mizipzor

如果Items集合只包含一个值,则WPF组合框将自动选择第一个值

  •  1
  • Mizipzor  · 技术社区  · 14 年前

    我发现 this

    最后,我基于ComboBox创建了一个CustomControl,其中包含一个覆盖:

    public class SmartComboBox : ComboBox
    {
        public SmartComboBox()
        {
        }
    
        protected override void OnItemsChanged(
            NotifyCollectionChangedEventArgs e)
        {
            base.OnItemsChanged(e);
    
            if (Items.Count == 1 && SelectedItem == null)
            {
                SelectedItem = Items[0];
            }
        }
    }
    
    • 触发器/钩子可以实现同样的行为吗?
    2 回复  |  直到 7 年前
        1
  •  1
  •   Jay    14 年前

    是的,就是这样——它的工作原理是一样的,否则。

        2
  •  1
  •   Michal Ciechan    14 年前

    是的,组合框可以很好地工作,另一种方法(我个人认为最好的方法是,我可以将多种行为添加到一个组合框中)是使用你链接到的问题中建议的行为。