2011-04-22 175 views
1

我正在尝试创建滑块(不带绑定)。 目前,我这样做:Silverlight为什么不能正常工作

的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页面加载保持并不会显示滑块,谁知道我”米做错了?

回答

1

可能是在第一ValueChanged事件, slider1和textblock1仍然为空。 试试这个:

private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) 
{ 
      if (textBlock1 != null && slider1 != null) 
      { 
       textBlock1.FontSize = slider1.Value; 
      } 
} 
0

看看XAML中..你设定以10 Value="10" ......但当时的TextBlock不到风度存在..要小心..

当解析器解析XAML中首先创建滑块然后将所有值到滑块(并触发所有连接的事件),才把它创建的TextBlock ...

所以你的代码更改此,everithing应该罚款..

private void slider1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) 
    { 
     if (textBlock1 != null && slider1 != null) 
     { 
      textBlock1.FontSize = slider1.Value; 
     } 
    }