我正在尝试创建一个滑块(没有绑定)。 目前我这样做了:
的Xaml:
<Slider Height="68" HorizontalAlignment="Left" Margin="52,45,0,0" x:Name="slider1" VerticalAlignment="Top" Width="256" Minimum="1" Maximum="40" Value="10" ValueChanged="slider1_ValueChanged" />
<TextBlock x:Name="textBlock1" Margin="52,120,0,0" Text="Slide it!" ></TextBlock>
在我的cs中:
private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) {
textBloxk1.FontSize = slider1.Value;
}
但是Silverlight页面一直在加载并且不会显示滑块,任何人都知道我做错了什么?
答案 0 :(得分:1)
可能在第一个ValueChanged事件中,slider1和textblock1仍然为null。 试试这个:
private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (textBlock1 != null && slider1 != null)
{
textBlock1.FontSize = slider1.Value;
}
}
答案 1 :(得分:0)
看看你的Xaml ..你将值设置为10 Value="10"
...但当时textBlock不存在..小心..
当解析器解析Xaml时,它首先创建Slider,然后将所有值设置为slider(并触发所有附加事件),然后才创建TextBlock ...
所以将你的代码更改为此,并且永远都应该没问题。
private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (textBlock1 != null && slider1 != null)
{
textBlock1.FontSize = slider1.Value;
}
}