C# 组合框不显示所选项目

C# 组合框不显示所选项目,c#,wpf,combobox,C#,Wpf,Combobox,代码: private ObservableCollection<State> allStates = new ObservableCollection<State>(); 在xaml中: <ComboBox Name="MyComboBox" Width="60" Height="20" IsEnabled="False" SelectedValue="{Binding Path=OneArrow, UpdateSourceTrigger=Property

代码:

private ObservableCollection<State> allStates = new ObservableCollection<State>();
在xaml中:

<ComboBox Name="MyComboBox" 
Width="60" Height="20" 
IsEnabled="False" 
SelectedValue="{Binding Path=OneArrow, UpdateSourceTrigger=PropertyChanged}"/>
装订很好,但我还有一个问题。 组合框不显示所选项目。我的意思是,在下拉列表中,会突出显示一个正确的项目,但当下拉列表隐藏时,不会显示任何内容


没有看到你们所有的班级,很难猜出是什么地方出了问题。 这是我对你的代码的解释

Xaml:

代码隐藏:

 /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            AllStates.Add(new State { Index = 1 });
            AllStates.Add(new State { Index = 2 });
            AllStates.Add(new State { Index = 3 });
            AllStates.Add(new State { Index = 4 });
        }

        private ObservableCollection<State> allStates = new ObservableCollection<State>();
        public ObservableCollection<State> AllStates 
        {
            get { return allStates; }
            set { allStates = value; }
        }

        private int oneArrow;
        public int OneArrow
        {
            get { return oneArrow; }
            set { oneArrow = value; }
        }

    }

    public class State : INotifyPropertyChanged
    {
        private int index;
        public int Index
        {
            get { return index; }
            set { index = value; NotifyPropertyChanged("Index"); }
        }


        public event PropertyChangedEventHandler PropertyChanged;
        public void NotifyPropertyChanged(string property)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(property));
            }
        }
    }

这似乎还可以,但就像我说的,我不知道你的State类是什么样子,也不知道OneArrow在mainform或State的什么位置

你能粘贴你的State类吗,它是State的索引部分,OneArrow的数据类型是否与Indexpublic int OneArrow{get{return intGetValueOneArrowProperty;}set相同{SetValueOneArrowProperty,value;}}public int Index{get{return Index;}set{Index=value;this.IndexTextBlock.Text=q+value.ToString;}}OneArrow和Index都是完整的。您是否将ItemsSource设置为状态集合并尝试选择int?这对我没有任何意义
 /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            AllStates.Add(new State { Index = 1 });
            AllStates.Add(new State { Index = 2 });
            AllStates.Add(new State { Index = 3 });
            AllStates.Add(new State { Index = 4 });
        }

        private ObservableCollection<State> allStates = new ObservableCollection<State>();
        public ObservableCollection<State> AllStates 
        {
            get { return allStates; }
            set { allStates = value; }
        }

        private int oneArrow;
        public int OneArrow
        {
            get { return oneArrow; }
            set { oneArrow = value; }
        }

    }

    public class State : INotifyPropertyChanged
    {
        private int index;
        public int Index
        {
            get { return index; }
            set { index = value; NotifyPropertyChanged("Index"); }
        }


        public event PropertyChangedEventHandler PropertyChanged;
        public void NotifyPropertyChanged(string property)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(property));
            }
        }
    }