Laden...

Button Visible oder Collapsed aus einen string entscheiden

Erstellt von ceis vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.275 Views
C
ceis Themenstarter:in
19 Beiträge seit 2009
vor 14 Jahren
Button Visible oder Collapsed aus einen string entscheiden

Hi Leut

Hab da wider ein Problem wobei die suche bei google nix gebracht hab,
hab auch bing ausprobiert (naja Kamm auch nix raus)

ok jetzt zu meinen Problem

Ich habe ein Button den ich seine Visibility ändern möchte, aber das ganze aus einer anderen Klasse. Die Variable Visibility enthält ein Visible oder Collapsed als string.


button1.Visibility = Visibility.Visible; // oder Collapsed

wie mach ich jetzt das er Visible oder Collapsed aus einer Variabel entnimt??

Danke im vorraus

1.433 Beiträge seit 2006
vor 14 Jahren

Visible oder Collapsed sind Enum Werte. Wieso speicherst Du diese dann nicht so in der Klasse die dem UI mitteilt, dass es visible oder collapsed sein soll, auch so mit.

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

101 Beiträge seit 2008
vor 14 Jahren

Ich würde in einer Klasse aus dem der String kommt ein Property setzen, dass die Visibility beinhaltet. Das könntest du dann direkt an deinen Button setzen. Wenn du die Möglichkeit nicht hast geht glaub ich nur ein kleiner switch Block an der Stelle wo die Visibility gesetzt wird. Aber wenn jemand weiß wie man aus einem String einen anderen Typen generieren kann würde mich das auch interessieren.

Kombiniere: ...

1.433 Beiträge seit 2006
vor 14 Jahren

Wenn man dann unbedingt will kann man den String-Wert wie folgt casten:


button1.Visibility = (Visibility)Enum.Parse(typeof(Visibility), "Dein String")

Finde es aber Arbeit die nicht notwendig ist, dass die Visibility Eigenschaft bereits ein Enum ist, also warum auch nicht so von der anderen Klasse übergeben.

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

C
ceis Themenstarter:in
19 Beiträge seit 2009
vor 14 Jahren

Danke schaedld 👍 👍

Hat super funktioniert.

Jetzt habe ich leider ein anderes Problem.

Und zwar möchte ich aus einer Klasse X beliebige Button´s erstellen.

Problem 1.)
Er bleibt in einer endlosschleife hängen:


        public void BtnErstellen()
        {
            Page1 p1 = new Page1();

            Button Name  = new Button();
            Name.Height = 50;
            Name.Width = 75;
            p1.aniPanel1.Children.Add(Name);

        }

Und dann würde ich gerne mehrere verschiedene Button´s über die Klasse erstellen mit verschiedenen Eigenschaften. Dazu müste ich doch den Namen "Namen" vom Button ändern. oder ??


Klasse BtnErstellen = new Klasse();
BtnErstellen.BtnErstellen("Btn1");

5.742 Beiträge seit 2007
vor 14 Jahren

Hallo ceis,

Und zwar möchte ich aus einer Klasse X beliebige Button´s erstellen.

Wenn man die WPF verwendet, muss man aufhören, zu denken, als ob man mit WinForms arbeitet.

Verwende lieber DataBinding und DataTemplates, um dynamisch Controls zu erzeugen.