Silverlight: App skalieren
-
Wie kann ich alle Controls meiner Silverlight verkleinern bzw. vergrößern, aber das Seitverhältnis soll erhalten bleiben?
-
Keiner eine Idee?
-
Benutz einfach ne ViewBox.
-
Danke. Hast du ein Beispiel, wie ich die ChildControls in einer ViewBox anlegen muß damit sie mitskalieren?
-
Orchy schrieb:
Danke. Hast du ein Beispiel, wie ich die ChildControls in einer ViewBox anlegen muß damit sie mitskalieren?
<ViewBox> <Button Content="Hallo" /> </ViewBox>
Sollte eigentlich reichen, um den Button zu skalieren? Oder was ist deine konkrete Frage?
MfG
-
Meine konkrete Frage: Ich habe eine Beispiel-App, sagen wir mal 800 x 600. Die soll auf einem handy genauso aussehen wie auf einem 24 Zoll Display. Wie und mit welchen Parametern bzw. Controls muß ich das angehen?
Wäre auch toll wenn jemand ein deutschsprachiges Tutorial kennen würde, weil es scheinbar keine vernünftigen Silverlight 4 -Bücher gibt.
-
/rant/ schrieb:
Orchy schrieb:
Danke. Hast du ein Beispiel, wie ich die ChildControls in einer ViewBox anlegen muß damit sie mitskalieren?
<ViewBox> <Button Content="Hallo" /> </ViewBox>
Sollte eigentlich reichen, um den Button zu skalieren? Oder was ist deine konkrete Frage?
MfG
ViewBox funzt mit Silverlight irgendwie nicht. Weiß jemand warum? Hat jemand eine andere Lösung?
-
Wahrscheinlich weil
ViewBox
nur in WPF enthalten ist und nicht in Sivlelright.Sollte aber ganz einfach sein, sowas selbst zu programmieren.
-
Rhombicosidodecahedron schrieb:
Wahrscheinlich weil
ViewBox
nur in WPF enthalten ist und nicht in Sivlelright.Sollte aber ganz einfach sein, sowas selbst zu programmieren.
Ich würde hier nicht posten wenn es so einfach wäre. Ich habe auch keinen einzigen braucbaren Beispielcode gefunden der funktioniert.
-
-
Klasse von
Control
ableiten. -
Erzeuge eine Abhängigkeitseigenschaft für das Seitenverhältnis und eine Methode, die bei Änderung aufgerufen wird und beim
sender as Control
dieInvalidateArrange
-Methode aufruft. -
überlade
protected override Size ArrangeOverride(Size finalSize)
-
gebe
finalSize
zurück. -
Dazwischen:
-
Berechne das Rechteck für das Größe der Elemente.
-
foreach
-Schleife überthis.Children
-
rufe bei jedem Element
Arrange
mir dem berchneten Rechteck auf.
An manchen Stellen musst du vielleicht noch auf
null
,Empty
oder ähnliches Prüfen also so sollte es ungefähr funktionieren.
(Ohne es selber programmiert zu haben)
-