我试图将枚举的值绑定到组合框,但是组合框保持为空,没有可供选择的选项。
这是组合框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));
}
}
出现在组合框中的值缺少什么?
答案 0 :(得分:1)
出现在组合框中的值缺少什么?
您需要将DataContext
的{{1}}或父元素设置为定义了ComboBox
属性的类的实例。如果该属性在后面的代码中定义,则只需将DataContext设置为视图本身:SkillItemSource
此外,您不能混合类型。如果this.DataContext = this;
绑定到ItemsSource
,则IEnumerable<string>
属性应该绑定到SelectedItem
属性。
还请注意,string
必须定义为公共属性,以便您可以绑定到它。
尝试一下:
neededSkill