Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Window nach Datenänderung neu rendern
inflames2k
myCSharp.de - Experte

Avatar #AARsmmPEUMee0tQa2JoB.png


Dabei seit:
Beiträge: 2.296

Themenstarter:

Window nach Datenänderung neu rendern

beantworten | zitieren | melden

Hallo,

ich habe ein GridView, welches innerhalb einer Viewbox liegt. Alle 10 Sekunden können sich Daten im GridView ändern.

Das Problem was sich mir hier stellt ist jedoch, das die Schriftgröße im Grid nicht neu gerendert wird. Dadurch kommt es dazu, das Text abgeschnitten wird, der jedoch definitiv angezeigt werden könnte.

Als Beispiel:

Aus der Formatierung
Test:        Wert
Test2:       Wert


wird somit bei längeren Texten:

Ein langer*:Wert
Test2:      Wert


* - > geht mit "ItemName" weiter.

Habe ich eine Möglichkeit der Vierbox ein Neuzeichnen in Auftrag zu geben? - So das sie quasi die Größen anpasst?
Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager | Spielkartenbibliothek
private Nachricht | Beiträge des Benutzers
michlG
myCSharp.de - Experte

Avatar #avatar-2909.png


Dabei seit:
Beiträge: 3.430
Herkunft: Naturns - Südtirol - Italien

beantworten | zitieren | melden

Hallo inflames2k,

bist du sicher dass die ViewBox das Problem ist?
Ich glaube eher dass dein Problem die Spaltenbreite ist.
D.h. das GridView passt die Spaltenbreite nicht an die länge deines Textes an.

Wenn du die Column im GridView dementsprechend verbreiterst (und somit auch das gesamte GridView verbreiterst) wird die ViewBox das schon automatisch neu rendern.

Grüße
Michael
private Nachricht | Beiträge des Benutzers
inflames2k
myCSharp.de - Experte

Avatar #AARsmmPEUMee0tQa2JoB.png


Dabei seit:
Beiträge: 2.296

Themenstarter:

beantworten | zitieren | melden

Naja das GridView setzt die Spaltenbreiten bei Start automatisch. Ich werde jetzt allerdings mal versuchen an den Spaltenbreiten herum zu spielen.

Wenn ich meine Erkenntnis habe, gebe ich bescheid. :)
Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager | Spielkartenbibliothek
private Nachricht | Beiträge des Benutzers
inflames2k
myCSharp.de - Experte

Avatar #AARsmmPEUMee0tQa2JoB.png


Dabei seit:
Beiträge: 2.296

Themenstarter:

beantworten | zitieren | melden

Irgendwie werd ich nicht schlau draus. Wie kann ich die Spalten der GridViewColumns anhand des Inhalts vergrößern / verkleinern?

EDIT:
Hat sich erledigt habe nach langem suchen etwas gefunden. Ist bei dem was ich so alles gefunden habe, das einzige was funktioniert.

Der Link zum Beitrag ist: "Star" size of a listview column. Die Lösung befindet sich im vorletzten Beitrag.

Um die Änderung der Spaltenbreite zu bewerkstelligen, wird dort das TargetUpdated-Event verwendet.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von inflames2k am .
Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager | Spielkartenbibliothek
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

beantworten | zitieren | melden

Hi inflames2k,

also eigentlich brauchst du keine Events zu verarbeiten, um ein Layout in WPF/Silverlight zu erstellen.

Zum GridViewColumn.Width sagt die Doku:
Zitat
A value that represents the width of the column. The default value is Double.NaN, which tells the column to automatically size to the largest column item that is not the column header.

Wenn du also kein Wert für Width angibst, sollte die Zelle automatisch an den Inhalt angepaßt werden. Und so wie ich dein Problem verstehe, sollte ein Grid eigentlich völlig ausreichend. Ich verstehe noch nicht ganz, wozu du die ViewBox brauchst.

Christian
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
inflames2k
myCSharp.de - Experte

Avatar #AARsmmPEUMee0tQa2JoB.png


Dabei seit:
Beiträge: 2.296

Themenstarter:

beantworten | zitieren | melden

Die Viewbox brauche ich für die Änderung der Schriftgröße.

Es ist so, das eine beliebige Menge an GridView's auf der Oberfläche sein können, je nachdem wie der Nutzer die Anwendung konfiguriert hat. Hierbei soll immer alles dargestellt werden.

Je mehr Grids es werden, desto kleiner müssen auch die Schriftgrößen werden. Das erledigt die Viewbox ja super.

Ändern sich jetzt in einem GridView Daten, und der Text wird kürzer oder länger, kann die Schriftgröße somit automatisch wieder verkleinert / vergrößert werden.
Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager | Spielkartenbibliothek
private Nachricht | Beiträge des Benutzers