WPF:在单元格值更改后获取我的对象索引

WPF: get my object index after cell value changed

所以我的 ListView 里面有这个 Slider:

<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 值改变之后我想设置新的基于索引号的值。

有什么关于如何找到这个索引的建议吗?

你想做什么来将你的值写回到你存储数据的对象中。在你的情况下,你想将它写入列表条目的 属性 DataContext .这样做真的很简单。您只需将 Slider.Value 绑定到支持 class 的 属性。

现在我假设 class 您将列表条目绑定到(所以 class 在 ObservableCollection 上的任何内容都有一个 属性 SliderValue存储一个 int。像这样:

public int SliderValue { get; set; }

因此,您将滑块绑定到支持 class 中的特定 属性。

<Slider Value="{Binding Path=SliderValue}" />

我删除了滑块标记中的所有格式代码,以专注于您需要添加的相关位。

编辑:所以关于你最后的评论 SliderValue 将是 Num