C# 在wpf.net核心应用程序的应用程序中,具有StackPanel的特定元素

C# 在wpf.net核心应用程序的应用程序中,具有StackPanel的特定元素,c#,wpf,xaml,alignment,stackpanel,C#,Wpf,Xaml,Alignment,Stackpanel,我目前正在开发一个地图应用程序,应用程序底部有一个浮动时间选择器: 到目前为止,一切顺利。底部的时间选择器通过以下方式实现: 问题如下:整个堆栈面板集中在屏幕上-很好。 我一使用滑块,问题就出现了。滑块将更新其右侧的MapTime\u标签。由于数量的增加或减少,标签的宽度会发生变化。 因此,整个堆栈面板的对齐方式发生变化,滑块变得完全不可预测: 请注意,gif开头的“播放”按钮位于湖的右侧。一旦我使用滑块,数字改变,它就会跳到湖的左侧 最后,我将使用整数而不是浮点。上面的例子夸大了这个问

我目前正在开发一个地图应用程序,应用程序底部有一个浮动时间选择器:

到目前为止,一切顺利。底部的时间选择器通过以下方式实现:


问题如下:整个堆栈面板集中在屏幕上-很好。 我一使用滑块,问题就出现了。滑块将更新其右侧的
MapTime\u标签
。由于数量的增加或减少,标签的宽度会发生变化。 因此,整个堆栈面板的对齐方式发生变化,滑块变得完全不可预测:

请注意,gif开头的“播放”按钮位于湖的右侧。一旦我使用滑块,数字改变,它就会跳到湖的左侧

最后,我将使用整数而不是浮点。上面的例子夸大了这个问题。对于整数,当在数字长度之间转换时,如-100(4个字符)到-99(3个字符)或-1(2个字符)到0(1个字符),仍然存在问题


您知道如何让滑块位于屏幕中心,同时让按钮和标签按原样环绕吗?

这是典型的布局问题,容器居中,但当您更改值时,它会更改其子项宽度并重新居中。是的。你有什么建议吗?我正在考虑在容器中使用另一个网格,但我不确定这是否是正确的方法,也不确定是否可以这样解决。将结果精度设置为小数点后2位,这样滑块就不会移动。请看:hello jdweng,我现在完全禁用了小数点,只显示int值。但是:-100->-99抖动-10->9次摆动-1->0抖动-基本上,任何时候都可以从十位数转换为十位数,您可以使用固定宽度作为黑色背景的元素。或者将其移出居中容器,并将其左对齐到右对齐(可能很棘手,必须使用
网格进行居中,在两侧使用不可见的
*
网格列)。