2016-12-08 3 views
0

Ich versuche, eine Schaltfläche (bei Klick) zu erhalten, um ein verstecktes Optionsfeld rbChoice2.Visibility = Visibility.Visible anzuzeigen. Der Radiobutton befindet sich in einem anderen Fenster, das eine weitere Schaltfläche save_Click erforderte, um das Fenster anzuzeigen und einen Wert an den Inhalt der Optionsschaltfläche zu senden. Also brauche ich die erste Schaltfläche, die den Radio Button bereits sichtbar gemacht hat, bevor der save_Click angeklickt wird.Schaltfläche zum Ausführen der Aktion vor dem Fenster zeigt xaml

Ich bin sehr neu zu WPF, obwohl ich versucht habe, den Sichtbarkeitscode und den Inhaltscode in die erste Schaltfläche zu setzen, und es funktioniert nicht. Hier ist der Code, den ich ausprobiert habe.

public partial class Create : Window 
{ 

    public Create() 
    { 
     InitializeComponent(); 
    } 

    private void addChoice1_Click(object sender, RoutedEventArgs e) 
    { 
     choice2.Visibility = Visibility.Visible; 
     addChoice2.Visibility = Visibility.Visible; 
     addChoice1.Visibility = Visibility.Hidden; 
     Save obj = new Save(); 
     obj.rbChoice2.Visibility = Visibility.Visible; 
     obj.rbChoice2.Content = choice2.Text; 


    } 

    private void save_Click(object sender, RoutedEventArgs e) 
    { 

     Save objS = new Save(); 
     objS.lbTest.Content = question.Text; 
     objS.rbChoice1.Content = choice1.Text; 
     objS.rbChoice2.Content = choice2.Text; 
     objS.ShowDialog(); 

    } 

}

Hier ist ein Bild von dieser tut: As the Add Choice button is clicked, another textbox is made visible under the first one and so at the same time another radio button should be made visible in the Save window but it doesn't work.

ich XAML lerne während so Codierung Ich hoffe, dass ich die Frage richtig gefragt und das ist verständlich. Hoffentlich kann jemand dabei helfen. Danke viel

Antwort

0

Sie haben 2 Kopien des Fensters - "obj" und "objS" sind überhaupt nicht verwandt.

Try this:

public partial class Create : Window 
{ 

public Create() 
{ 
    InitializeComponent(); 
} 

Save obj = new Save(); 

private void addChoice1_Click(object sender, RoutedEventArgs e) 
{ 
    choice2.Visibility = Visibility.Visible; 
    addChoice2.Visibility = Visibility.Visible; 
    addChoice1.Visibility = Visibility.Hidden; 

    obj.rbChoice2.Visibility = Visibility.Visible; 
    obj.rbChoice2.Content = choice2.Text; 
} 

private void save_Click(object sender, RoutedEventArgs e) 
{ 
    obj.lbTest.Content = question.Text; 
    obj.rbChoice1.Content = choice1.Text; 
    obj.rbChoice2.Content = choice2.Text; 
    obj.ShowDialog(); 
} 

} 
+0

Ja Ich habe versucht, dass vor und es gab mir diese Ausnahmefehler: https://gyazo.com/2fd8a9c5ab93049055c021abe06ee7e8 –

+0

A Stackoverflow in der Regel bedeutet, dass Sie eine Art Endlosschleife haben passiert. –

+0

Entschuldigung, war mir nicht bewusst drücken Eingabe würde meinen Kommentar abgeben. Machst du etwas in dem Loaded-Ereignis für dein "Speichern" -Fenster, das dies verursachen könnte? Setzen Sie einen Haltepunkt auf "Save obj = new Save();" Zeile, und drücken Sie F11 in Visual Studio, nachdem es getroffen wurde, um durch Ihren Code eine Zeile zu der Zeit zu durchlaufen, und sehen Sie, wenn Sie herausfinden können, warum die Inifite-Schleife passiert. –

Verwandte Themen