2017-10-02 3 views
0
Arbeits

Ich habe eine Methode, die Freigabe und Schaltfläche in here.My deaktivieren if-else-Block tun soll, wenn eine Nummer eingeben, die ‚öden‘ lbDivide, ‚0‘ und ‚00‘ Tasten sollte aktiv sein, aber nur aktiv öde button.Wie lösche ich das?Wpf Knopf IsEnabled nicht

my payment page

öde = machen Zahlung

KISI Sayısı = Wie viele Personen?

private void Bol_Click(object sender, RoutedEventArgs e) 
    { 
     lbDivide.Text = "0"; 
     btnBol.Opacity = 0.5; 
     btnBol.IsEnabled = false; 
     lbPayment.Visibility = Visibility.Hidden; 

     if (lbDivide.Text == "0") 
     { 
      btnQr.Opacity = 0.5; 
      btnQr.IsEnabled = false; 
      zero.Opacity = 0.2; 
      zero.IsEnabled = false; 
      double_zero.IsEnabled = false; 
      double_zero.Opacity = 0.2; 
     } 
     else 
     { 
      btnQr.Opacity = 1; 
      btnQr.IsEnabled = true; 
      zero.Opacity = 1; 
      double_zero.Opacity = 1; 
      zero.IsEnabled = true; 
      double_zero.IsEnabled = true; 
     } 
+1

Haben setzen Sie einen Haltepunkt in 'if (lbDivide.Text == "0")' und schaute in den Debugger, welcher Code ('if' oder' else') ausgeführt wird? Was ist der Wert von 'lbDivide.Text' im Debugger? Abgesehen davon: Weil Sie 'lbDivide.Text =" 0 ";' setzen, sollte am Anfang immer nur der Code im 'if'-Block ausgeführt werden. (Angenommen, 'lbDivide' ist wirklich nur ein WPF' Label' und abgesehen von Situationen, in denen jemand auf die Änderung des Etikettentextes reagiert und diesen auf einen anderen Wert setzt.) – haindl

+0

Ich setze einen Haltepunkt auf if und else.Wie du nur sagst und zuerst ** wenn ** funktioniert und ** ** ** Wert von ** lbDiDivide ** bekommt und der else Block niemals funktioniert. Wenn if-else Block nicht funktioniert, was kann ich sonst tun/benutzen? By the way, wenn ich versuche, Etikett (mit C-Taste) 0 und 00 Einstellung auf der Hauptseite deaktivieren deaktivieren.Ich bin verwirrt. – TPBAFK

+0

Mein Problem ist, dass lbDivide nicht 0 oder 00 Wert erhalten muss. Wenn ich die 0 oder 00 Schaltflächen ** öde ** Knopf aktiviere, aber es sollte nicht aktiv sein. Dies ist eine Online-PayMet-Anwendung und die App, die zufälligen Preis erstellen .Thes bedeutet, dass es kritisch ist. – TPBAFK

Antwort

-1

ändern, wenn (lbDivide.Text == "0") durch if (lbDivide.Text.Equals ("0"))

+0

nein das gleiche Problem und ich versuchte ** if (lbDivide.Text == "0" & ​​& lbDivide.Text.Equals ("0")) ** und ** if (lbDivide.Text == "0" || lbDivide. Text.Equals ("0")) ** too – TPBAFK

1

Ich glaube, ich weiß, wo der Fehler ist.

private void Bol_Click(object sender, RoutedEventArgs e) 
{ 
    lbDivide.Text = "0"; /// in this line of code you're basically setting lbDivide.text to be 0 every time the button is clicked, so the else condition will never be met. 
    btnBol.Opacity = 0.5; 
    btnBol.IsEnabled = false; /// you're basically disabling the button after the first click. 
    lbPayment.Visibility = Visibility.Hidden; 

    if (lbDivide.Text == "0") 
    { 
     btnQr.Opacity = 0.5; 
     btnQr.IsEnabled = false; 
     zero.Opacity = 0.2; 
     zero.IsEnabled = false; 
     double_zero.IsEnabled = false; 
     double_zero.Opacity = 0.2; 
    } 
    else 
    { 
     btnQr.Opacity = 1; 
     btnQr.IsEnabled = true; 
     zero.Opacity = 1; 
     double_zero.Opacity = 1; 
     zero.IsEnabled = true; 
     double_zero.IsEnabled = true; 
    } 
} 
+0

Ich habe es auf null gesetzt, aber nicht funktioniert, dann habe ich es entfernt, das hat nicht funktioniert.Es macht keinen Sinn für mich, grüner Knopf perfekt funktioniert aber 0 und 00 Tasten funktionieren nicht. Warum? – TPBAFK

+1

können Sie die XAML-Codes bitte posten Ich werde versuchen, Ihre App zu replizieren –

+0

hier ist es https://pastebin.com/tiRFSSSSk – TPBAFK

Verwandte Themen