所以我在Slider
:
ListView
<DataTemplate x:Key="MyDataTemplate2">
<Grid Margin="-6" >
<Slider Name="sliderColumn" HorizontalAlignment="Left" VerticalAlignment="Center" TickPlacement="None"
Minimum="0" Maximum="50" Value="1" Style="{StaticResource SliderStyle}" Width="80"
TickFrequency="1" IsSnapToTickEnabled="True"/>
<TextBlock Text="{Binding Path=Value, ElementName=sliderColumn, StringFormat={}x{0}}" FontSize="11" Foreground="White"
VerticalAlignment="Center" HorizontalAlignment="Right"/>
</Grid>
</DataTemplate>
<GridViewColumn x:Name="SpeedCell" Width="100" Header="Speed" CellTemplate="{StaticResource MyDataTemplate2}" />
在此Slider
值更改后,我可以获得新值:
private void sliderColumn_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
double val = e.NewValue;
}
但是我仍然缺少我需要的最重要的信息:它的Slider
值改变的对象的索引号。
我需要索引的原因是因为我的ListView
已满了我的对象,这些对象在RadObservableCollection
内,在此Slider
值更改后我想设置新的值基础关于索引号。
有关如何查找此索引的任何建议吗?
答案 0 :(得分:0)
你想要做什么来将你的价值写回你存储数据的对象中。在你的情况下,你想把它写入列表条目DataContext
的属性中。这样做非常简单。您只需将Slider.Value
绑定到支持类的属性即可。
现在我假设您将列表条目绑定到的类(因此,ObservableCollection
上的类具有存储SliderValue
的属性int
。如下所示:
public int SliderValue { get; set; }
因此,您将滑块绑定到支持类中的特定属性。
<Slider Value="{Binding Path=SliderValue}" />
我从滑块标签中删除了所有格式代码,以便专注于您需要添加的相关位。
编辑:关于您的上一条评论,SliderValue
将是Num
。