我有一個綁定到一組數據的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