2011-07-22 11 views
0

私は銀色のツールキットAccordionコントロールを使用しています。コードの後ろにAccordion.SelectionChangedをキャンセルする方法は?

ロジックに基づいてアコーディオンの選択を取り消したいと思います。例えば

:無限で

​​

このコードの結果は最初の再帰呼び出しは、選択した項目には影響しませんが、Accordion_SelectionChangedに呼び出します。

これを行うには他の方法はありますか?

手動で次のように再帰呼び出しを防ぐことができます

答えて

0

TKS:

bool isCancellingSelection = false; 

private void Accordion_SelectionChanged(object sender, SelectionChangedEventArgs e) { 
    if (isCancellingSelection) 
     return; 

    if(Something) { 
     isCancellingSelection = true; 
     e.SelectedItem = -1; 
     isCancellingSelection = false; 
    } 
} 
+0

これが二度目にfalseを返す機能「何か」と同じものです。なんらかの理由で、Accordion_SelectionChangedは繰り返し呼び出され続けます。 – andrecarlucci

関連する問題