在WPF中,是否可能有一个看起来像单选按钮的组合框控件?

在WPF中,是否可能有一个看起来像单选按钮的组合框控件?,wpf,combobox,radio-button,styles,Wpf,Combobox,Radio Button,Styles,我有一大堆依赖于ComboBox类型的代码,我希望能够在新的UI上使用它,但出于可用性原因,我想使用它的UI需要看起来像一个单选按钮。有可能让ComboBox控件看起来像一组单选按钮吗?您可以构建一个新的UserControl,它有许多与ComboBox类相同的方法,但可以对其进行调整,使其创建多个单选框 你的问题有点模糊 IE在您的用户控件上创建一个Items集合,当添加某个内容时,绘制一个单选框并调整控件大小,而不是像组合框那样,只向列表中添加一个字符串 然后,您所要做的就是查找所有对Com

我有一大堆依赖于ComboBox类型的代码,我希望能够在新的UI上使用它,但出于可用性原因,我想使用它的UI需要看起来像一个单选按钮。有可能让ComboBox控件看起来像一组单选按钮吗?

您可以构建一个新的UserControl,它有许多与ComboBox类相同的方法,但可以对其进行调整,使其创建多个单选框

你的问题有点模糊

IE在您的用户控件上创建一个Items集合,当添加某个内容时,绘制一个单选框并调整控件大小,而不是像组合框那样,只向列表中添加一个字符串

然后,您所要做的就是查找所有对ComboBox的引用,并将其替换为RadioFiedComboBox

这里有一些比较:

ComboBox cb = new ComboBox();
cb.Items.Add("blah");

public类radiofiedmbobox:UserControl{
公共ObservableCollection项目=新ObservableCollection();
公共放射性栓塞盒(){
Items.CollectionChanged+=新通知collectionchangedventhadler(您的CollectionChanged);
}
私有void YourCollectionChanged(){
//在这里做些什么来重新绘制控件
}
}

上面的代码只是一个示例,您必须创建ComboBox类中使用的所有方法并创建类似的功能。

我的建议是使用ItemsControl和DataTemplate来呈现单选按钮。对于ItemsControl,您将绑定与绑定到ComboBox相同的内容。
需要注意的是,您需要将单选按钮的GroupName设置为与组相同的名称,以便它们可以相互排斥。否则,如果你什么都不做,你就可以同时选择多个单选按钮。

为什么不制作一大堆单选按钮呢?我不想添加很多单选按钮,因为这意味着更多的代码,而我所有其他围绕组合框控件构建的代码都无法与之交互。如果我能把一个组合框设计成单选按钮的样子,那就最好了。你现在绑定到组合框的是什么?这是一个枚举吗?嗯,我没有考虑过数据绑定。。
RadioIFiedComboBox cb = new RadioIFiedComboBox();
cb.Items.Add("blah");
public class RadioIFiedComboBox : UserControl {
  public ObservableCollection<object> Items = new ObservableCollection<object>();
  public RadioIFiedComboBox() {
    Items.CollectionChanged += new NotifyCollectionChangedEventHandler(YourCollectionChanged);
  }
  private void YourCollectionChanged(){
    //do something here to redraw your controls
  }
}