初め:
public MainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(MainPage_Loaded);
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
Verdienen v = new Verdienen(4, 3);
}
次に: public Verdienen(int attesaInSecondiIniziale = 20, int attesaInSecondiFinale = 8) { this.AttesaInSecondiIniziale = attesaInSecondiIniziale; this.AttesaInSecondiIniziale = attesaInSecondiFinale; MostraPerQuestaSezione = false;
popup = new Popup();
Border border = new Border();
border.Background = new SolidColorBrush(Colors.LightGray);
border.Margin = new Thickness(3);
StackPanel panelVerticale = new StackPanel();
panelVerticale.Orientation = Orientation.Vertical;
AdControl control = new AdControl();
panelVerticale.Children.Add(control);
StackPanel panelOrizzontale = new StackPanel();
panelOrizzontale.Orientation = Orientation.Horizontal;
Button bAltreApp = new Button();
bAltreApp.Content = "";
bAltreApp.Tap += new EventHandler<GestureEventArgs>(bAltreApp_Tap);
Button bVota = new Button();
bVota.Tap += new EventHandler<GestureEventArgs>(bVota_Tap);
bVota.Content = "";
panelOrizzontale.Children.Add(bAltreApp);
panelOrizzontale.Children.Add(bVota);
panelVerticale.Children.Add(panelOrizzontale);
border.Child = panelVerticale;
popup.Child = border;
this.ShowPopup();
}
private async **System.Threading.Tasks.TaskEx** ShowPopup()
{
do
{
Debug.WriteLine("thread iniziato. pausa cominciata");
await System.Threading.Tasks.TaskEx.Delay(1000 * this.AttesaInSecondiIniziale);
Debug.WriteLine("thread: fine pausa");
popup.IsOpen = true;
await System.Threading.Tasks.TaskEx.Delay(1000 * this.AttesaInSecondiFinale);
popup.IsOpen = false;
} while (MostraPerQuestaSezione);
}
このコードでポップアップが表示されない理由を教えてください。注: 一部の不要なコードは存在しません! 編集: System.Threading.Tasks.TaskExがエラーとしてマークされていることに注意してください (「非同期メソッドの戻り状態は void、Task、または Task でなければなりません」)。