Anpassung Größe Controls bei Änderung Größe Window

20/07/2009 - 12:08 von rolfb | Report spam
Ich möchte in einer WPF Anwendung die Controls automatisch proportinal
vergrößern oder verkleinern wenn der Anwender manuell die Größe des Fensters
veràndert. D.H. wenn das Fenster vergrößert wird sollen alle Elemente und
Schriften automatisch entsprechend vergrößert werden.

Ist dies möglich und wenn ja wie?

Gruß rb
 

Lesen sie die antworten

#1 Carl-Christian Schaffert
20/07/2009 - 17:24 | Warnen spam
Hallo rb...

"rolfb" schrieb im Newsbeitrag
news:
Ich möchte in einer WPF Anwendung die Controls automatisch proportinal
vergrößern oder verkleinern wenn der Anwender manuell die Größe des
Fensters
veràndert. D.H. wenn das Fenster vergrößert wird sollen alle Elemente und
Schriften automatisch entsprechend vergrößert werden.

Ist dies möglich und wenn ja wie?



klar das ist möglich...

für deine Controls erstellst du dir ein Grid, in das du deine Controls
platzierst, dessen Column.Width und Row.Height eine prozentuale Größe
aufweisen.
z.B:
<Grid.RowDefinitions>
<RowDefinition Height="0.2*" />
<RowDefinition Height="0.2*" />
<RowDefinition Height="0.2*" />
<RowDefinition Height="0.2*" />
<RowDefinition Height="0.2*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.2*" />
<ColumnDefinition Width="0.2*" />
<ColumnDefinition Width="0.2*" />
<ColumnDefinition Width="0.2*" />
<ColumnDefinition Width="0.2*" />
</Grid.ColumnDefinitions>

Bezüglich deines sonderbaren Wunsches hinsichtlich der Texte gibt es mehrere
Lösungen, die einfachste wàre... du packst alle deine Text in eine ViewBox,
dann werden die darin enthaltenen Texte automatisch skaliert...
z.b:
<Viewbox>
<TextBlock Text="sample text"/>
</Viewbox>
ansonsten kannst du dir noch Gedanken darüber machen, da ja die
Font-Eigenschaften innerhalb des Logical-Trees vererbt werden, dass du das
mit einem Style und entsprechenden Trigger machst, das erspart dir
sicherlich einiges an Arbeit mit der ViewBox. Darüber hinaus gibt es noch
einige weitere Möglichkeiten dies im Code zu erledigen musst mal etwas
googeln...

Gruß Carl

Ähnliche fragen