Anwendungen mit dynamischer Größer - Wie macht Ihr das?

  • WPF

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von thefiloe.

    Anwendungen mit dynamischer Größer - Wie macht Ihr das?

    Hallo Leute,

    ich arbeite mich momentan mithilfe des Buches "Einstieg in WPF - Grundlagen und Praxis" in die Windows Presentation Foundation ein,
    was auch programmier- bzw. deisgntechnisch kein Problem darstellt :D

    Ich habe aber gerade mal versucht, ein Programm (Rechnungsprogramm) in WPF du programmieren, allerdings stoße ich da nun wirklich an ein "logisches" Problem:

    Wenn ich die Oberfläche mittels eines Dock Panels und eines Grids so erstelle, dass sich die Elemente der Fenstergröße anpassen,
    sieht die Oberfläche bei einem großen Fenster einfach nur noch "doof" aus. Die Elemente sind dann einfach so groß, dass das keinen Sinn mehr macht.

    Deshalb wollte ich euch mal fragen:

    Wie handhabt Ihr das bezüglich größenanpassbarer Fenster?
    Was sollte man beachten, damit die Anwendung trotzdem bedienbar bleibt?

    Viele Grüße,
    JoRu1407 ;)
    Das Fenster nicht vergrößerbar machen.

    Ich bin kein WPF-Spezialist, deshalb weiß ich nicht, wie's da funktioniert, aber bei einer Form gibt es die FormBorderStyle-Eigenschaft, die man auf FixedSingle stellen kann. Dadurch kann man das Fenster nicht mehr vergrößern/verkleinern.

    Alternativ kann man eine Minimal- und Maximalgröße angeben. Dadurch kann man das Fenster nicht übertrieben groß machen.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Es kommt immer drauf an, welche Elemente sich anpassen. Ein Button wäre deppert, wenn der sich anpasste.
    Anpassungsfähig müssen alle daten-anzeigenden Controls sein, also Comboboxen, Textboxen (bei einzeilig nur inne Breite), und v.a. alle Listen-Ansichten.

    Ich muß sagen, ich hab nie das Problem, dass ich zuviel Platz habe - aber immer mussichmir was ausdenken, wie ich mit dem verfügbaren Platz hinkomme.
    Ansonsten machichgrad wieder öfter kleine (aber sizeable) Dialoge, die aufpoppen, aber eben nicht gleich mit WindowState.Maximized.

    Feste Fenster gibts bei mir nicht - jedenfalls nicht, solange auch nur ein Textwert angezeigt wird. Textwerte können immer unterschiedlich lang sein, und da muß der User resizen können. Und bei Listen sowieso.

    Aber es gibts natürlich schon, dass ein Form keine Liste, und keinen Textwert anzuzeigen hat (etwa eine IP - Eingabe: 4 Zahlen - sehr überschaubar).
    Habich aber trotzdem sizeable gemacht, auch wenn da niemand resizen wird.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()

    Hallo ErfinderDesrades,

    arbeitest du denn mit einem MDI-Parent und versch. Childs oder werden die Fenster
    alle "einzeln" geöffnet?

    Ich muß sagen, ich hab nie das Problem, dass ich zuviel Platz habe - aber immer mussichmir was ausdenken, wie ich mit dem verfügbaren Platz hinkomme.


    Bei mir ist eher das Gegenteil der Fall - Ich bin momentan z.B. mit der Entwicklung eines digitalen Küchensystems beschäftig
    (Mit Rezeptassistent, Diabetikerfunktion etc...) zusammen mit einer Waage - Gier weiß ich einfach nicht, wie ich den Bildschirm (Touchscreen) vollbekommen soll :D
    ich hab nur ein MainWindow.
    Die kleinen Dialoge poppen auf, da gibt man ein und schließt sie wieder.
    MDI ist ein überholtes Konzept - da ist TabControl fast immer sinnvoller.
    Übrigens treffen sich MDI und TabControl an dem Punkt, wo MDI mit maximierten ChildWindows arbeitet, und's TabControl seine Reiter versteckt (etwa ins Menü verlegt).

    MIttm Rezept-System würdich sofort den Bildschirm voll haben ;):
    zeige alle Rezepte in einer Liste an, daszu Detail-Infos und vlt. auch ein Bild.
    Naja, vorrangig soll das erstmal ein Dieabetiker-System werden, da bei meinem bruder vor Kurzem Diabetes festgestellt wurde.

    Im Programm soll dann eine Datenbank mit den Kohlenhydraten der meisten Lebensmittel hinterlegt werden.
    Man wählt dann die Kategorie aus und das Produkt und legt es auf die Wage. Das System zeigt dann an, um wie viele Berechnungseinheiten (BEs) es sich dabei handelt.
    So soll man dann auch Listen erstellen können (also mehrere verschiedene Lebenmittel nacheinander wiegen und die Gesamtmenge an Kohlenhydraten etc...), welche wiederum gespeichert werden.

    Naja, mal schauen, wie ich den Schirm voll bekomme... :D
    Es gibt Eigenschaften wie MaxWidth,... oder du kannst einen Grid nehmen und nur manche Spalten sich anpassungsfähig machen andere jedoch nicht.
    Die Grundlagen sind unbegrenzt um dein Problem zu vermeiden.

    Was du auch machen kannst ist, dem Benutzer überlassen was er vergrößert sprich über einen GridSplitter die Oberfläche dynamisch halten.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.