我正在我的页面上加载5个组合框,我装了4个组合框,但是第5个组合框给了我一个地狱......
我会发布我在这里做过的代码......如果我错了,请纠正我。
<ComboBox Height="23" HorizontalAlignment="Left" Margin="605,131,0,0"
Name="Cboadproducts" VerticalAlignment="Top" Width="168" TabIndex="3"
DisplayMemberPath="AdProduct" SelectedValuePath="AdProdctID" />
代码: -
Cboadproducts.ItemsSource = null;
List<MyRef.Country> list = ee.Result.ToList();
list.Insert(0, new MyRef.Country() { AdProduct = "Select", AdProdctID = -1 });
Cboadproducts.ItemsSource = list;
我从DB获得了价值,但我不知道造成这种麻烦的原因。 任何帮助都非常感谢。 谢谢, MAGZ
答案 0 :(得分:0)
在xaml中设置ItemsSource="{Binding}"
和
在代码中设置Cboadproducts.DataContext = list;
修改强>
代码:
public class Country
{
public int AdProductID
{
get;
set;
}
public string AdProduct
{
get;
set;
}
}
public Window1()
{
InitializeComponent();
List<Country> list = new List<Country>
{
new Country{ AdProduct="Select", AdProductID = -1},
new Country{ AdProduct="Select1", AdProductID = 1},
new Country{ AdProduct="Select2", AdProductID = 2},
new Country{ AdProduct="Select3", AdProductID = 3},
new Country{ AdProduct="Select4", AdProductID = 4},
};
Cboadproducts.DataContext = list;
}
XAML:
<ComboBox Height="23"
x:Name="Cboadproducts"
ItemsSource="{Binding}"
VerticalAlignment="Top"
Width="168"
TabIndex="3"
DisplayMemberPath="AdProduct"
SelectedValuePath="AdProdctID" />
编辑II
要加载其他集合:
在代码中Cboadproducts.DataContext = differentList;
或
而不是使用List使用ObservableCollection并使用Clear()
从集合中删除项目,并使用Add()
ObservableCollection实现了INotifyCollectionChanged,它在集合发生变化时通知控件,然后导致UI更新。