как да свържете 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}" />
тя трябва да работи, ако все още имате проблем погледнете в това пост