2
我遇到了將擴展事件添加到擴展器的問題。我的窗口上有擴展器,當我擴展擴展器時,所有其他擴展器都會關閉。我寫的功能,讓我這樣做,它的工作是正確的。問題是我有96個擴展器,我不想爲擴展添加96個事件,爲崩潰添加96個事件,所以我認爲我可以通過編程添加這個。以編程方式添加多個擴展器事件不會工作
看代碼:
private void InitExpanders()
{
var expanders = GetExpanders(); // List<Expander> - list of expanders
for (int i = 0; i < expanders.Count; i++)
{
if (i % 6 == 1)
{
expanders[i - 1].Expanded += new RoutedEventHandler(delegate(object sender, RoutedEventArgs args)
{
DisableBigExpanders(1); // problem is here!
});
}
}
}
此代碼工作正常,但對於每個擴展函數參數將是1 香港專業教育學院嘗試添加整數和增加它,但它不會起作用。
private void InitExpanders()
{
var expanders = GetExpanders();
int x = 0;
for (int i = 0; i < expanders.Count; i++)
{
if (i % 6 == 1)
{
expanders[i - 1].Expanded += new RoutedEventHandler(delegate(object sender, RoutedEventArgs args)
{
DisableBigExpanders(x);
});
x++;
}
}
}
感謝您的回覆。
有一個更好的方式來做到這一點:http://blogs.microsoft.co.il/blogs/tomershamam/archive/ 2008/08/04/LT-HOWTO-GT-創建-AN-膨脹機一組,而無需代碼-LT-HOWTO-gt.aspx – Joulukuusi 2012-02-25 16:39:29