C Sharp – die besten Beiträge

c# bmi rechner mit absoluter zahl korrektes Ergebnis, mit Variable falsch warum?

Habe folgendes Problem, das hier ist der aus dem Code entscheidende Tei.. ich habe auch mal Schritt für Schritt alles durchlaufen lassen um alles nachzuvollziehen, komme aber immer noch nicht weiter.

Folgende Werte werden eingegeben, wie in dem Kommentar teil beschrieben:

Größe = 150cm

Gewicht = 45kg somit käme genau ein bmi von 20 raus da 1,5³ = 2,25 und 45 / 2,25 = 20

allerdings erscheint im textlabel 3 also der Ausgabezelle nach dem Klick auf den Button immer genau der Wert, den ich in das Gewichtsfeld eingetragen habe.

Wenn ich jedoch ((groesse / 100) * (groesse / 100)) durch 2.25 mal zu testzwecken manuell ersetze kommt das korrekte Ergebnis von 20 raus.

ich habe es auch schon mit zwischenschritten probiert. (groesse erst im meter umrechen, dann schon quadrieren und in der Ergebnisformal habe ich dann genauso wie bei dem Zahlenwert 2.25 nur eben als Variablenwert stehen, wie man es noch an den Variablen Deklarationen erkennen kann.

 private void button2_Click(object sender, EventArgs e)
    {
        int groesse;
        double groessem;
        double groessequadrat;

        double gewicht; 
        double bmi;
        
        groesse = int.Parse(textBox1.Text);
        gewicht = double.Parse(textBox2.Text);
        bmi = gewicht / ((groesse / 100) * (groesse / 100)); //20bmi = 45kg / ((150cm / 100) * (150cm / 100)) = [warum 45] 
        label3.Text = bmi.ToString(); 
    }

hat jemand eine Idee, war hier der Fehler sein könnte?

programmieren, absolut, C Sharp, Visual Studio, Variablen

WPF: DataGridTextColumn basierend auf ViewModel-Eigenschaft ausblenden – wie geht das?

Hallo zusammen,

ich arbeite an einer WPF-Anwendung und habe ein DataGrid, in dem ich eine bestimmte Spalte ausblenden möchte, wenn eine boolesche Eigenschaft (IstPM) im ViewModel true ist.

<DataGridTextColumn Header="Länge"
    Binding="{Binding Laenge, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, StringFormat=N1}"
    Visibility="{Binding IstNichtPM, Converter={StaticResource booleanToVisibilityConverter}}"
    Width="70"/>

Dabei ist IstNichtPM eine bool-Eigenschaft im ViewModel, die true sein sollte, wenn die Spalte sichtbar sein soll.

Ich verwende einen BooleanToVisibilityConverter, der true zu Visible und false zu Collapsed konvertiert.

Problem:

Die Spalte bleibt immer sichtbar oder wird nicht korrekt aktualisiert.

Ich habe auch versucht, es in Code-Behind zu ändern, aber das geht auch nicht, da man kein x-Name geben kann

„Der Wert „colLaenge“ des Name-Attributs kann für das Element „DataGridTextColumn“ nicht festgelegt werden.“

die IstPM und istNichtPM funktioniert aufjedenfall, da ich damit auch Tabs ausgeblendet habe in der Page. Das hat ohne Probleme funktioniert

=>

ausblenden bei IstNichtPM

<TabItem Header="Allgemein" Visibility="{Binding IstNichtPM, Converter={StaticResource booleanToVisibilityConverter}}">

einblenden bei IstPM

<TabItem Header="Allgemein" Visibility="{Binding IstPM, Converter={StaticResource booleanToVisibilityConverter}}">

beim DGV bin ich so langsam echt am verzweifeln.

Hat jemand eine funktionierende Lösung, wie ich eine DataGridTextColumn in WPF dynamisch ausblenden kann?

Bin für jeden Tipp dankbar!

C Sharp, Windows Presentation Foundation

Meistgelesene Beiträge zum Thema C Sharp