Laden...

Window nach Datenänderung neu rendern

Erstellt von inflames2k vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.406 Views
inflames2k Themenstarter:in
2.298 Beiträge seit 2010
vor 11 Jahren
Window nach Datenänderung neu rendern

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

</span>  
  
\* - &gt; geht mit &quot;ItemName&quot; 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 |

3.430 Beiträge seit 2007
vor 11 Jahren

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

inflames2k Themenstarter:in
2.298 Beiträge seit 2010
vor 11 Jahren

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 |

inflames2k Themenstarter:in
2.298 Beiträge seit 2010
vor 11 Jahren

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.

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

5.657 Beiträge seit 2006
vor 11 Jahren

Hi inflames2k,

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

Zum GridViewColumn.Width sagt die Doku:

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

inflames2k Themenstarter:in
2.298 Beiträge seit 2010
vor 11 Jahren

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 |