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));
}
}
}