ScrollViewer
コンテナーの全幅に伸びる水平の破線を描画する必要があるレイアウトが に含まれています。私が管理した最も近いものは次のとおりです
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<StackPanel>
<Button Width="400" Height="50" VerticalAlignment="Top" Margin="10" />
<Line HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Stroke="Black"
X2="{Binding ActualWidth, RelativeSource={RelativeSource Self}}"
StrokeDashArray="2 2" StrokeThickness="1" />
</StackPanel>
</ScrollViewer>
これはほぼ機能しますが、コンテナー (私の場合はウィンドウ) が拡大されると、コンテナーのサイズが縮小されても、線は適切なサイズに縮小されません。以下は、ウィンドウを水平方向に上下にサイズ変更した後の同じウィンドウのスクリーンショットです。
線が破線であるという事実は、線を引き伸ばすことを含む解決策が機能しないことを意味するため、重要であることに注意してください (破線が引き伸ばされて表示されます)。
これはX2="{Binding ActualWidth, RelativeSource={RelativeSource Self}}"
バインディングが原因であることはわかっています (設計上、行は常にスクロール可能な領域で最も幅が広いため、ウィンドウのサイズをスクロール可能な領域に合わせると、行がスクロール可能な領域の幅を定義します)。解決策を考えます。
この問題を解決するにはどうすればよいですか?
ViewportWidth
使用が機能しない理由のスクリーンショット