小编sli*_*ide的帖子

如何在滑块位于StackPanel内时展开Slider以填充可用空间

在a Slider中插入Grid会扩展它以填充可用空间,但我不希望使用网格,原因如下:

我有一个TextBlockSliderUserControl,滑块装有弹簧,做慢跑/穿梭; 必须显示当前值,因为用户不能依赖中性光标的位置,所以文本块.实现**Orientation**这个自定义滑块的属性需要旋转两个组件,并调整它们的相对位置(左/右或上/下),这对于网格来说并不容易(除非我错过了明显的东西)用一个StackPanel.

回应Aviad的评论

Aviad,谢谢,我为痛苦道歉;-)问题出现在标题中:当滑块位于StackPanel内时,如何扩展Slider以填充可用空间?

这个用户控件:

<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>
Run Code Online (Sandbox Code Playgroud)

即使在具有"*"宽度的行中,也不会在包含在网格中时展开.滑块根本没有长度.

一个解决方案是在下面的代码中用网格替换堆栈面板,但我不想使用网格,因为我需要使用堆栈面板的Orientation属性来显示封闭用户控件时垂直堆叠的控件在方向"垂直"中设置.

wpf slider stackpanel

4
推荐指数
2
解决办法
7223
查看次数

标签 统计

slider ×1

stackpanel ×1

wpf ×1