在Windows Phone 8上我有一个列表框,每个ListboxItem的DataTemplate都包含Textboxes(以及复选框等)。
现在,当用户单击TextBox(复选框等)时,它会获得焦点,但Listbox的SelectedItem属性不会更改。我需要知道用户当前正在编辑的列表中的哪个Item,我使用MVVM模式,所以我绑定了SelectedItem。
对于WPF,我发现了几种方法here,但它们都不适用于WP8,主要是因为WP8上没有触发器。
感谢您的帮助
答案 0 :(得分:0)
使用TextBox的GotFocus事件获取ListBoxItem。
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
ListBoxItem itemSelected = sender as ListBoxItem;
listBox.SelectedItem = itemSelected;
// You can also get underlying data context of MVVM by
// MyDataContextClass selected = itemSelected.DataContext as MyDataContextClass;
// where MyDataContextClass is the class with which you are binding ListBoxItem
}