2016-06-27 6 views
1

Ich wollte nur etwas lernen; speziell - versuchen, ein Flyout zu erstellen, stellen Sie es auf eine Schaltfläche und schließlich zeigen, dass Flyout.Ein Flyout auf eine Schaltfläche setzen

Hier ist mein Code:

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    if (FirstNameBox.Text == "" || SecondNameBox.Text == "" || AvatarButton.SelectedItem == null) 
    { 
     var button = sender as Button; 
     Flyout flyout = new Flyout(); 
     var txtblock = new TextBlock(); 
     txtblock.HorizontalAlignment = HorizontalAlignment.Center; 
     txtblock.Text = "You haven't set something."; 

     flyout.Placement = FlyoutPlacementMode.Top; 
     flyout.Content = txtblock; 

     FlyoutBase.SetAttachedFlyout(button, flyout); 

     button.Flyout.ShowAt(button); 
    } 

Der Fehler, was throwed wurde, ist, dass meine Schaltfläche "Button" has not jede Flyout genannt, aber ich es nur angebracht, bevor "Show": C

jemand tun Wissen was los ist?

+2

Wenn ich einen Rat an alle bieten könnte es zu lernen, wäre es in XAML zu tun. Wenn Sie mit dem Lernen von MVVM, Datenbindung, Befehlsbindung usw. beginnen, haben Sie eine Sache weniger zu lernen. Auch, wenn Sie Dinge hinter Code erstellen, macht es die Dinge unendlich komplexer –

+0

Danke, ich werde es zuerst tun, wie Sie erzählen. Aber in diesem Code; Möchtest du mir den richtigen Weg zeigen? – Niewidzialny

+0

Ich konnte nicht darüber spekulieren, warum es nicht funktioniert, ohne den Code tatsächlich zu kompilieren und alles funktionierend zu sehen. Es könnte alles sein. –

Antwort

0

Ihr Fehler ist in dieser Zeile:

Versuchen Sie, diese zu schreiben:

flyout.ShowAt(button); 
Verwandte Themen