/ / как да свържете ComboBox към списък с низ - c #

как да свържете ComboBox към списък с низ - c #

как да свържете ComboBox към списък с низ тук е моят списък:

  public ObservableCollection<string> m_Category =
new ObservableCollection<string>();

<ComboBox x:Name="MyComboBox" Height="Auto" Width="Auto"
ItemsSource="{Binding m_Category, NotifyOnTargetUpdated=True,Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}" SelectedIndex ="0"
SelectionChanged ="MyComboBox_SelectionChanged"/>

Plz имайте предвид, че моят comboBox е в DataTemplate Thks

Отговори:

1 за отговор № 1

не трябва да използвате свързването тук във Вашия ItemSource, защото тук нямате даден набор от данни само в код зад това (след попълване на m_Category)

MyComboBox.ItemsSource =  m_Category ;

В противен случай трябва да създадете клас, който да съдържа свойство като това и връзката ви ще работи

 public class MyDataContext
{
ObservableCollection<string> m_Category =
new ObservableCollection<string>();
public  ObservableCollection<string>   M_Category
{ get;set}
}

// Променете връзката си по този начин

 <ComboBox x:Name="MyComboBox" Height="Auto" Width="Auto"
ItemsSource="{Binding M_Category, NotifyOnTargetUpdated=True,Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}" SelectedIndex ="0"
SelectionChanged ="MyComboBox_SelectionChanged"/>

в главния си прозорец можете да направите нещо подобно

 public MainWindow()
{
InitializeComponent();
MyDataContext myDataContext =  new  MyDataContext();
//for example here
For(i=0;i<100;i++)
myDataContext.M_category.Add(yourItem)
this.DataContext =  myDataContext ;
}

0 за отговор № 2

Първо проверете дали сте задали DataContext на вашия ComboBox, в противен случай обвързването няма да работи.

Вашият XAML файл трябва да изглежда по следния начин:

 <ComboBox Name="cbPropName" ItemsSource="{Binding Path=m_Category}" />

тя трябва да работи, ако все още имате проблем погледнете в това пост