gpt4 book ai didi

wpf - 当 slider 位于 StackPanel 内时,如何扩展 slider 以填充可用空间

转载 作者:行者123 更新时间:2023-12-05 00:42:35 25 4
gpt4 key购买 nike

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

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

回复 Aviad 的评论

Aviad,谢谢,我为痛苦道歉 ;-) 问题在标题中:当 slider 位于 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>

即使在具有“*”宽度的行中包含在网格中时也不会扩展。 slider 根本没有长度。

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

最佳答案

绑定(bind)非常简单!
注意 StackPanel 为 Horizo​​ntalAlignment="Stretch"
和绑定(bind)引用的名称

            <StackPanel HorizontalAlignment="Stretch" VerticalAlignment="Top" Orientation="Horizontal" Name="ParentPanel">
<Slider Minimum="1" Maximum="999999" Interval="3" Width="{Binding Path=ActualWidth, ElementName=ParentPanel}"></Slider>
</StackPanel>

致@ somedust

关注此 link回答类似的问题,并了解如何使用转换器对绑定(bind)进行更多控制。

关于wpf - 当 slider 位于 StackPanel 内时,如何扩展 slider 以填充可用空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1976264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com