2009-03-06 15 views
3

Silverlightでは、行の幅を子要素であるStackPanelの幅を埋めるように伸ばす方法を教えてください。コードビハインドではなく、XAMLソリューションを推奨します。親コンテナを埋めるためのSilverlightストレッチ子要素はありますか?

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

しかし、それは、Silverlightで動作しません:ここに は、私はWPFでそれを行うことができる方法です。

答えて

7
<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、左下から右上の場合は逆にします。

新鮮なファンキーです。

2

これは、次のようにユーザーsladapterによってSilverlight.netフォーラムに答えた:

現在のSilverlightは、結合要素をサポートしていません。

Lineオブジェクトを使用する必要がありますか? Lineを描画したいだけなら、Rectangle(2pxの高さ)を使うことができます。次にHorizo​​ntalAlignment = "Stretch"を設定すると、自動的に伸びます。

私のニーズに合っています。

1

要素バインディングはSilverlight 4に存在しますが、親コンテナを塗りつぶすために項目を引き伸ばすにはまだまだ良い方法はありません。あなたが本当に望むのは、テンプレートの適用を考慮するビジュアルツリーの親コンテナに収まることです。

関連する問題