我正在使用Silverlight工具包Accordion控件。
我想取消基于某种逻辑的手风琴选择。
例如:
private void Accordion_SelectionChanged(object sender, SelectionChangedEventArgs e) {
if(Something) {
e.SelectedItem = -1; //or anything that cancels the accordion "expansion"
return;
}
}
此代码会导致对Accordion_SelectionChanged的无限调用,即使第一次递归调用不会影响所选项目。
还有其他方法吗?
韩国社交协会
答案 0 :(得分:0)
您可以手动阻止递归调用,如下所示:
bool isCancellingSelection = false;
private void Accordion_SelectionChanged(object sender, SelectionChangedEventArgs e) {
if (isCancellingSelection)
return;
if(Something) {
isCancellingSelection = true;
e.SelectedItem = -1;
isCancellingSelection = false;
}
}