如何将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"/>
请注意我的comboBox位于DataTemplate中 THKS
答案 0 :(得分:1)
你不应该在ItemsSource中使用绑定,因为你没有在这里设置datacontext 只是在后面的代码中执行此操作(在填充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 ;
}
答案 1 :(得分:0)
首先检查是否将DataContext设置为ComboBox,否则绑定将不起作用。
您的XAML文件应如下所示:
<ComboBox Name="cbPropName" ItemsSource="{Binding Path=m_Category}" />
它应该有用,如果你还有问题,请查看post