[c#]在 Windows 应用程序商店中的滑块 ListView 正在自行

标签: listview windows C#
发布时间: 2013/12/8 15:11:33
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我已经数据绑定的某些项目与此 XAML 我 listView:

        <ListView x:Name="itemListView" ItemsSource="{Binding}">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" >
                        <Slider Value="{Binding Intensity}" Width="300" Tag="{Binding Name}" />        
                        <TextBlock Text="{Binding Name}" />
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

与此 C# 代码:

        public static ObservableCollection<PoliticalRegion> GetRegions()
        {
            ObservableCollection<PoliticalRegion> politicalRegions = new ObservableCollection<PoliticalRegion>()
                {
                    new PoliticalRegion() {Name = "Algeria", Intensity = 0},
                    new PoliticalRegion() {Name = "Angola", Intensity = 0},
                    new PoliticalRegion() {Name = "Benin", Intensity = 0},
                    new PoliticalRegion() {Name = "Chad", Intensity = 0},
                    new PoliticalRegion() {Name = "Cote_d_Ivoire", Intensity = 0},
                    new PoliticalRegion() {Name = "Djibouti", Intensity = 0},
                    new PoliticalRegion() {Name = "Egypt", Intensity = 0},
                };
            return politicalRegions;
        }
       itemListView.DataContext = GetRegions();

当我运行应用程序,移动滑块,一些一些其它滑块移动断断续续地对自己的身份。这是为什么??

解决方法 1:

虚拟化 ItemContainers ListView 引起问题的原因。我得以事儿这通过将列表视图放在 ScrollViewer 因此禁用 ListView 的虚拟化。ListView 项目不是很多因而对性能的影响很小。

这里是更新的 XAML。

<ScrollViewer>
    <ListView x:Name="itemListView" ItemsSource="{Binding}">
        <ListView.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal" >
                    <Slider Value="{Binding Intensity}" Width="300" Tag="{Binding Name}" />        
                    <TextBlock Text="{Binding Name}" />
                </StackPanel>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</ScrollViewer>
官方微信
官方QQ群
31647020