Windows phone 7 windows phone 7列表框事件混淆
这个应用程序就像一本小字典。我有一个列表框和一个文本框。列表框中已填充单词,当文本框中有任何条目时,列表框将再次填充以文本框中字母开头的单词。我有一个listbox SelectionChanged事件,当用户单击一个单词时,它的意思就会出现。问题是,当用户从列表中选择一个单词,然后在文本框中键入某个内容时,listBox SelectionChanged事件被称为“我不希望发生这种情况,因为此时我的listBox的选定项为空”。我希望只有当用户从listBox中选择某个内容时才会触发事件。当列表框的内容更改时,不应激发它。谢谢您可以使用 1.if(lstWords.SelectedItem!=null) 2.lstWords.SelectedIndex=-1强> 例如以下是文本更改事件和列表选择更改事件的源代码Windows phone 7 windows phone 7列表框事件混淆,windows-phone-7,listbox,Windows Phone 7,Listbox,这个应用程序就像一本小字典。我有一个列表框和一个文本框。列表框中已填充单词,当文本框中有任何条目时,列表框将再次填充以文本框中字母开头的单词。我有一个listbox SelectionChanged事件,当用户单击一个单词时,它的意思就会出现。问题是,当用户从列表中选择一个单词,然后在文本框中键入某个内容时,listBox SelectionChanged事件被称为“我不希望发生这种情况,因为此时我的listBox的选定项为空”。我希望只有当用户从listBox中选择某个内容时才会触发事件。当列
private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (textBox1.Text.ToString().Equals(""))
{
XmlDictionaryRepository test = new XmlDictionaryRepository();
lstWords.ItemsSource = test.GetWordList(categorySelected,xmlFileName);
}
else
{
XmlDictionaryRepository test = new XmlDictionaryRepository();
lstWords.ItemsSource = test.GetMatchWordList(categorySelected, textBox1.Text.ToString(),xmlFileName);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString(), (((PhoneApplicationFrame)Application.Current.RootVisual).Content).ToString(), MessageBoxButton.OK);
}
}
private void lstWords_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
if (lstWords.SelectedItem != null)
{
string wordSelected = ((Glossy_Test.Dictionary)(lstWords.SelectedItem)).Word;
if (lstWords.SelectedItem != null)
{
NavigationService.Navigate(new Uri(string.Format("/DescribeWord.xaml?param1={0}¶m2={1}", wordSelected, categorySelected), UriKind.Relative));
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString(), (((PhoneApplicationFrame)Application.Current.RootVisual).Content).ToString(), MessageBoxButton.OK);
}
finally
{
// lstWords.SelectedIndex = -1;
}
}