c# - 在 Observable Collection 中移动项目将移动项目重置为默认值
问题描述
我有一个包含组合框、文本框和复选框的列表视图。我可以添加多行,每次添加一行时,您都会在列表视图中获得一个包含所有 5 个项目的新行。我在每个组合框的开头添加了一个默认值,以提示用户从绑定到的下拉列表中选择一个值。问题是当我尝试重新排序行时,移动事件会将所有值重置为其默认值,清除文本框并取消选中复选框。
public ObservableCollection<RemovePunctuationRules> PunctuationRules
{
get
{
return _punctuationRules ?? (_punctuationRules = new ObservableCollection<RemovePunctuationRules>());
}
set
{
_punctuationRules = value;
}
}
private void MenuItemMoveUp_OnClick(object sender, RoutedEventArgs e)
{
var selectedIndex = ListView.SelectedIndex;
if (ListView.SelectedIndex > 0)
{
var itemToMoveUp = PunctuationRules[selectedIndex];
PunctuationRules.RemoveAt(selectedIndex);
PunctuationRules.Insert(selectedIndex - 1, itemToMoveUp);
ListView.SelectedIndex = selectedIndex - 1;
}
}
解决方案
推荐阅读
- google-cloud-platform - 使用 Github 的 Terraform GCP Cloud 功能
- android - 如何修复 ExoPlayer 错误“本机窗口无法处理受保护的缓冲区”
- javascript - 听 EACCES:权限被拒绝 0.0.0.0:8080
- python-3.x - 使用 title() 在 python 中创建一个额外的行
- c# - 如何在加载页面之前检查 Internet 连接?
- angular - 如何在剑道角网格内添加迷你图?
- sql - 数据库:相关字段包含多个值
- android - 单击时如何获取 Firestore RecyclerView 项目的文档 ID
- angular - 如何根据id取json键值
- r - 如何保存/加载通过 R 中的 h2o4gpu 库创建的随机森林模型?