我有一个包含组合框,文本框和复选框的Listview。我可以添加多行,并且每次添加一行时,您都会在列表视图中获得包含所有这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;
}
}