2016-06-13 16 views
0

Ich möchte wissen, ob es eine Möglichkeit gibt, den Rahmen und die Elemente darin zu ändern, wenn sich die Fenstergröße ändert. Ich möchte immer das gleiche Verhältnis in der Größe der Elemente innerhalb des Rahmens haben.Ändern der Größe des Rahmens und der Elemente in UWP

Beispiel:

1- Window = 100 (in x) und Image = 50 (in x) = 25 locationx

2- Window = 50 (in x) und Image = 25 (in x) location x = 12.5 (~ 12)

In diesem Fall ist die Fenstergröße "etwas", Bildgröße ist 1/2 von "etwas" und die Positionx des Bildes ist 1/4 von etwas. Ich möchte so etwas machen, aber mit jedem Element im Rahmen.

Danke!

Antwort

1

Sie können das <ViewBox/> Steuerelement verwenden, das genau das tut.

<Page>... 
<Grid> 
    <ViewBox HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
     <StackPanel> 
      <Button Content="test" HorizontalAlignment="Left"/> 
      <TextBlock Text="some text"/> 
     </StackPanel> 
    </ViewBox> 
</Grid> 
</Page> 

Im Beispiel unten wird die ViewBox in einem Gitter angeordnet und sowohl horizontal als auch vertikal gestreckt, die sie mit der Seite strecken Resize verursacht.

Referenzdokumente here.

+1

Wenn ich verstehe, ändert die 'ViewBox' ein einzelnes Kind. Um die Frage des OP zu beantworten, müsste dieses Kind eine Verbindung sein (wahrscheinlich eine der [Panel] (https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls) .panel.aspx) Implementierungen). Diese Antwort wäre vollständiger, wenn sie ein kleines XAML-Snippet enthält, das beschreibt, wie das Kind eingerichtet wird. – IInspectable

+0

Aber ändern Sie nicht die Größe der Elemente – Onelio

+0

@Intensible, ja Sie können sie in ein Grid oder ein anderes Panel, das Sie brauchen. – AlexDrenea

Verwandte Themen