将SelectedValue绑定到WPF组合框
问题描述:
我试过寻找上下这个,但找不到任何东西。我在列表视图中有一个组合框。 listview绑定到通过控制器公开的datacontext绑定的对象列表。列表中项目的其中一个属性是一个字符串。我试图将该值绑定到组合框中的内容。将SelectedValue绑定到WPF组合框
这里是我的列表视图
<ListView ItemsSource="{Binding Path=OrderLines}" >
<ListView.View>
<GridView>
<GridViewColumn Header="Item Type" Width="Auto">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ComboBox Width="100" SelectedItem="{Binding Path=LineType,ValidatesOnDataErrors=True}" >
<ComboBoxItem>Type1</ComboBoxItem>
<ComboBoxItem>Type2</ComboBoxItem>
<ComboBoxItem>Type3</ComboBoxItem>
<ComboBoxItem>Type4</ComboBoxItem>
</ComboBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
的片段在控制器我有一个属性叫做OrderLines像这样
private List<OrderLine> orderLines;
public List<OrderLine> OrderLines
{
get { return orderLines; }
set
{
if (value == orderLines)
return;
orderLines= value;
OnPropertyChanged("OrderLines");
}
}
而一个订单行只是有一个属性叫做线型这是一个字符串,包含该值。
private string lineType;
public string LineType
{
get { return lineType; }
set
{
lineType= value;
OnPropertyChanged("LineType ");
}
}
任何人都可以帮助解释为什么没有设置选定的项目/值。这与我的硬编码内容有关吗?谢谢你的帮助。
答
它可能不会绑定,因为LineType是一个字符串,而ComboBox包含ComboBoxItems和一个字符串!= ComboBoxItem。
尝试一些沿
<ComboBox>
<system:String>Item1</system:String>
<system:String>Item2</system:String>
</ComboBox>
,其中系统是一个命名空间中的mscorlib参考系统
非常感谢。这工作。 – 2010-02-24 21:09:45