我有一个绑定到一组数据的WPF组合框。我无权直接修改控件,也无法更改数据。WPF组合框不良的空白值
我在我的ComboBox中返回了1个项目,但实际上有2行;空白行和我的期望值。两者似乎都有一个索引值0.我不想看到这个空行,只是我自己选择的ComboBox中的预期数据。我在这里查看了每个人的相关帖子,但没有一个解决方案适用于我的案例。我一直在编程很长一段时间,但对WPF来说还是比较新的。谢谢您的帮助。
XAML
<MyComboBox Name="myTemplate5" MyLookup="Lookup" MyFilter="att_idn=-37" MyData="Detail" MyName="comp_tmpl_idn_srt" ModCde="31" MyEmptyValue="0" ToolTip="Have a nice day" Margin="0,2.5,30,2.5" MinWidth="120" Grid.Column="1" SelectionChanged="myTemplate5_SelectionChanged" />
C#
private void myTemplate1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
MyComboBox work = sender as MyComboBox;
if (work != null && work.HasSelectionChanged(e))
{
int compTmplId = int.Parse(work.SelectedValue.ToString());
if (!_wpfIsDumb && !ChangeComponent(compTmplId))
{
_wpfIsDumb = true;
work.SelectedItem = e.RemovedItems[0];
_wpfIsDumb = false;
}
}
}
public bool HasSelectionChanged(SelectionChangedEventArgs e)
{
if (e.RemovedItems.Count > 0 && e.AddedItems.Count > 0)
return true;
else
return false;
}
谢谢你的回复。 Unfortunatley由于绑定权限,我无法将新项目添加到组合框。根本原因是检查组合框是否更改的功能。 RemovedItems.Count和AddedItems.Count都需要大于零才能处理更改。我看到两个项目,其中一个是空白的(并且是选定的项目)。它并不是真的存在,这意味着无论我选择哪个项目,所选索引都是0,所以RemovedItems.Count始终为0,因此它认为没有任何更改。 – 2012-07-19 20:05:04