Hier ist ein funktionierendes Beispiel. Es erinnert sich sogar an den aktivierten Status von Boxen, wenn mehr hinzugefügt werden.
Unter der Annahme dieses XAML:
<Slider Minimum="0" Maximum="7" SmallChange="1" LargeChange="1"
x:Name="mySlider" ValueChanged="mySlider_ValueChanged" />
<StackPanel x:Name="chkContainer" />
Dies ist der Event-Handler
private void mySlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
if (chkContainer != null) // It could be null during page creation (add event handler after construction to avoid this)
{
// The following works because the both the small and large change are one
// If they were larger you may have to add (or remove) more at a time
if (chkContainer.Children.Count() < mySlider.Value)
{
chkContainer.Children.Add(new CheckBox { Content = mySlider.Value.ToString() });
}
else
{
chkContainer.Children.RemoveAt(int.Parse(mySlider.Value.ToString()));
}
}
}
Bitte beachten Sie das Windows Phone 7 basiert auf Silverlight 3 (nicht 4). Ich habe Ihre Frage (und Tags) entsprechend aktualisiert. –