问题描述
我目前正在开发一个地图应用程序,该应用程序底部具有一个浮动时间选择器:
<DockPanel Grid.ZIndex ="2" Height="Auto" HorizontalAlignment ="Stretch" VerticalAlignment="Stretch">
<StackPanel DockPanel.Dock="Bottom" HorizontalAlignment="Center" VerticalAlignment="Bottom" Orientation="Horizontal" Margin="0,20">
<!-- Play/Pause button for map time -->
<Button x:Name="MapTime_PlayPause_Button" VerticalAlignment="Center" Height ="30" Width ="30" Margin="0,20,0" ScrollViewer.CanContentScroll="True" BorderBrush="{x:Null}" Foreground="{x:Null}" >
<Button.Background>
<ImageBrush ImageSource="/play_Button_40x40.png"/>
</Button.Background>
</Button>
<!-- Map Time Slider -->
<Slider x:Name="MapTime_Slider" VerticalAlignment="Center" HorizontalAlignment="Center" Width ="200" SmallChange="1" Minimum="-55" Maximum="0" Value="-55" TickPlacement="Bottomright" ValueChanged="MapTime_Slider_ValueChanged" />
<!-- Map Time display -->
<Label x:Name="MapTime_Label" Height="40" Foreground="#FF5AE00D" Background="#FF303030" Margin="10,0" Content="-55" FontSize="22" VerticalAlignment="Center"/>
</StackPanel>
</DockPanel>
问题如下:整个堆栈面板在屏幕上居中-很好。
一旦使用滑块,就会出现问题。滑块更新其右侧的MapTime_Label
。由于数量的增加或减少,标签的宽度会发生变化。
因此,整个堆栈面板的对齐方式发生了变化,并且滑块变得完全不可预测:
请注意gif开头的“播放”按钮如何位于湖的右侧。一旦我使用滑块并更改了数字,它就会跳到湖的左侧。
最后,我将使用整数而不是浮点数。上面的例子夸大了这个问题。使用整数时,在从-100(4个字符)到-99(3个字符)或-1(2个字符)到0(1个字符)等数字长度之间进行转换时,我仍然遇到问题
有什么想法让滑块位于屏幕中央,同时让按钮和标签保持原样环绕?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)