Frage

In Silverlight, wie kann ich die Breite einer Linie strecke die Breite des Stackpanel zu füllen, in dem es ein untergeordnetes Element? Bevorzugen Sie eine XAML-Lösung, kein Code-Behind. Hier ist, wie ich es in WPF tun können:

<Line X1="0" 
      X2="{Binding Path=ActualWidth, ElementName=HolePatternStackPanel}" 
      Stroke="Gray" 
      StrokeThickness="1" />

Aber das funktioniert nicht in Silverlight.

War es hilfreich?

Lösung

<Line X1="0" Y1="0" X2="0" Y2="1" Stretch="Fill" Stroke="#FF000000" />

funktioniert in beiden WPF und Silverlight.

Wenn die X 0 ist, ist es eine vertikale Linie. Wenn die Reste Y 0 sind, dann ist es horizontal. Verwenden X1 = 0 Y1 = 0 X2 = 1 Y2 = 1 für diagonal von links oben nach rechts unten, oder umgekehrt für links unten nach rechts oben.

Funky frisch.

Andere Tipps

Dieses wurde auf Silverlight.net Forum vom User sladapter wie folgt beantwortet:

Aktuelle Silverlight unterstützt kein Element gebunden ist.

Müssen Sie verwenden Linienobjekt erzeugt? Wenn Sie nur eine Linie zeichnen möchten Sie Rechteck (2 px Höhe) verwenden können, dann können Sie Horizontal = „Stretch“ es so eingestellt, dass es automatisch strecken wird.

Es funktioniert peferctly für meine Bedürfnisse.

ElementBinding existiert in Silverlight 4. Aber es ist immer noch nicht eine gute Möglichkeit, um ein Element zu strecken ihre übergeordneten Container zu füllen. Was Sie wirklich wollen, ist in den übergeordneten Container in der Baumstruktur passen, die berücksichtigt, um die Anwendung von Vorlagen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top