Slider
在 a中插入 aGrid
会扩展它以填充可用空间,但我不希望使用网格,原因如下:
我有 aTextBlock
和 a Slider
,UserControl
滑块是弹簧加载的,可以慢跑/穿梭;当前值必须显示,因为用户不能依赖中性光标的位置,所以文本块。实现**Orientation**
这个自定义滑块的属性需要旋转两个组件并调整它们的相对位置(左/右或上/下),这对于网格来说并不容易(除非我错过了一些明显的东西),而它是带一个StackPanel
。
回应 Aviad 的评论
Aviad,谢谢,我为痛苦道歉 ;-) 问题在标题中:当滑块位于 StackPanel 内时,如何扩展滑块以填充可用空间?
此用户控件:
<UserControl x:Class="XXX.Preview.SelectionView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="auto" Width="auto">
<GroupBox Header="Selected">
<StackPanel Orientation="Horizontal">
<TextBlock/>
<Slider/>
</StackPanel>
</GroupBox>
</UserControl>
即使在具有“*”宽度的行中包含在网格中时也不会扩展。滑块根本没有长度。
一个解决方案是在下面的代码中用网格替换堆栈面板,但我不想使用网格,因为我需要使用堆栈面板的 Orientation 属性来显示两个控件在封闭用户控件时垂直堆叠设置为“垂直”方向。