我遇到了WinRT项目中滑块大小的问题。我的xaml中有一个简单的默认滑块,如下所示:
<Slider x:Name="slider1"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
BorderBrush="White"
BorderThickness="5"/>
此滑块沿所有页面都有宽度,当此页面更改其大小时,滑块也必须更改其大小。但这是问题所在。如果我将滑块的值设置为最大点并将应用程序窗口拖动到纵向状态,则滑块的大小不会在视图上发生变化。只有在操作之后它才变成实际尺寸。我已经尝试监视数据,当触发SizeChanged事件并且滑块采用正确的NewSize时,但是没有改变它的视图。 在下面的屏幕上,你可以看到我在说什么。滑块的身体以纵向状态(或任何其他状态)离开窗户。
默认控制的错误以及我如何解决这个问题呢?
答案 0 :(得分:3)
我找到了解决这个问题的一些解决方法,但解决方案非常难看。
private void Slider1_OnSizeChanged(object sender, SizeChangedEventArgs e)
{
var value = this.slider1.Value;
this.slider1.Value = 0;
this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
this.slider1.Value = value;
});
}
如果有人会想出更好的东西,请告诉我。