我有一個按鈕,通過調用它begin()
像這樣添加委託功能第一單用
private void ShareBtn_Click(object sender, RoutedEventArgs e)
{
SlideIn.Begin();
}
在網格然後滑出有按鈕滑出使用Storyboard的菜單。
每個按鈕,然後滑動電網回來當故事板完成對按鈕的動作,然後運行,因此像這樣,
private void PictureBtn_Click(object sender, RoutedEventArgs e)
{
CertificateDisplay.SaveAsPicture();
}
private void FacebookBtn_Click(object sender, RoutedEventArgs e)
{
App.facebookSuccess = false;
NavigationService.Navigate(new Uri("/FBLogin.xaml", UriKind.Relative));
}
private void SMSBtn_Click(object sender, RoutedEventArgs e)
{
SlideOut.Begin();
SlideOut.Completed += delegate(object s, EventArgs se) { SlideOut_Completed(s, se, "Email"); };
}
private void EmailBtn_Click(object sender, RoutedEventArgs e)
{
SlideOut.Begin();
SlideOut.Completed += delegate(object s, EventArgs se) { SlideOut_Completed(s, se, "Email"); };
}
void SlideOut_Completed(object sender, EventArgs e, String shareType)
{
switch (shareType)
{
case "Email":
...
default:
break;
}
}
我遇到的缺陷,如果我不能從事件堆棧中刪除匿名函數。
我已經設法解決它shareType
一個公共變量爲所有上述功能,並且不使用匿名委託,然後調用OnNavigatedFrom
時從事件堆棧中刪除「命名」功能。
有沒有辦法做到這一點仍然使用這些代表,因爲它看起來整潔?