绑定枚举时,WPF组合框为空

时间:2019-05-22 12:49:53

标签: c# wpf combobox

我试图将枚举的值绑定到组合框,但是组合框保持为空,没有可供选择的选项。

这是组合框xaml的定义:

<ComboBox Grid.Row="2" Grid.Column="1" ItemsSource="{Binding Path=SkillItemSource}" SelectedItem="{Binding Path=neededSkill, Mode=TwoWay}" SelectedIndex="0" Margin="5" MinWidth="100"></ComboBox>

这是在窗口的cs中定义的项目源和所选项目:

public Skill neededSkill = Skill.FirstSkill;

public string[] SkillItemSource
    {
        get
        {
            return Enum.GetNames(typeof(Skill));
        }
    }

出现在组合框中的值缺少什么?

1 个答案:

答案 0 :(得分:1)

  

出现在组合框中的值缺少什么?

您需要将DataContext的{​​{1}}或父元素设置为定义了ComboBox属性的类的实例。如果该属性在后面的代码中定义,则只需将DataContext设置为视图本身:SkillItemSource

此外,您不能混合类型。如果this.DataContext = this;绑定到ItemsSource,则IEnumerable<string>属性应该绑定到SelectedItem属性。

还请注意,string必须定义为公共属性,以便您可以绑定到它。

尝试一下:

neededSkill
相关问题