Silverlightは親コンテナを満たすために子要素を引き伸ばしますか?
-
03-07-2019 - |
質問
Silverlight で、Line の幅を引き延ばして、それが子要素である StackPanel の幅を満たすにはどうすればよいですか?コードビハインドではなく、XAML ソリューションを優先します。WPF でそれを行う方法は次のとおりです。
<Line X1="0"
X2="{Binding Path=ActualWidth, ElementName=HolePatternStackPanel}"
Stroke="Gray"
StrokeThickness="1" />
しかし、Silverlight ではそれは機能しません。
解決
<Line X1="0" Y1="0" X2="0" Y2="1" Stretch="Fill" Stroke="#FF000000" />
WPFとSilverlightの両方で動作します。
Xが0の場合、それは垂直線です。 Yが0の場合、水平です。左上から右下への対角線にはX1 = 0 Y1 = 0 X2 = 1 Y2 = 1を使用し、左下から右上へは逆に使用します。
ファンキーフレッシュ。
他のヒント
これについては、Silverlight.net フォーラムでユーザー sladapter が次のように回答しました。
現在の Silverlight は要素のバインドをサポートしていません。
Lineオブジェクトを使用する必要がありますか?線を描画するだけの場合は、 Rectangle (高さ 2 ピクセル) を使用できます。その後、 horizontalAlignment="Stretch" を設定すると、線が自動的に引き伸ばされます。
私のニーズに完璧に応えてくれました。
ElementBinding は Silverlight 4 に存在します。しかし、アイテムを引き伸ばして親コンテナを満たす優れた方法はまだありません。本当に必要なのは、テンプレートのアプリケーションを考慮したビジュアル ツリーの親コンテナーに適合することです。
所属していません StackOverflow