private void taskList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (taskList.SelectedItem == null)
{
editButton.IsEnabled = false;
}
else
{
inputTitle.Text = (taskList.SelectedItem as AddItem).Title.Trim();
editButton.IsEnabled = true;
}
}
我想再次选择 selecteditem。但是, selectedChanged 仅在项目更改时起作用。如何重新选择seleceditem?
我怀疑这个解决方案是你优雅地解决问题所需要的。您的逻辑不应依赖于选择一个项目两次或更多次。由于您决定不提供任何信息,因此我无法提出任何建议来修复您的臭代码。
要将所选项目再次设置为当前所选项目以触发SelectionChanged
事件,您可以:
如果在范围内,只需直接调用事件处理程序:
taskList_SelectionChanged(taskList,
new SelectionChangedEventArgs(
Selector.SelectionChangedEvent,
new List<object>(),
new List<object>() { taskList.SelectedItem }));
或者在代码隐藏或视图模型中重新分配值:
var selectedItem = taskList.SelectedItem;
taskList.SelectedItem = null;
taskList.SelectedItem = selectedItem;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句