WPF: Как я могу избежать мерцания проверенных флажков в ListBox или ListView?

Как я могу избежать мерцания проверенных флажков в WPF ListBox или ListView? Это может быть воспроизведено с кодом ниже путем нажатия на Кнопку Обновить или путем прокрутки поля списка. Если IsChecked является ложью, он не мерцает.

Window1.xaml:

<Window x:Class="WpfApplication6.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <ListBox Name="listBox">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <CheckBox IsChecked="True"
                                  VerticalAlignment="Center"/>
                        <Label Padding="3"
                               Content="{Binding}"/>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
        <Button Content="Refresh"
                Grid.Column="1"
                VerticalAlignment="Top"
                Click="Button_Click"/>
    </Grid>
</Window>

Window1.xaml.cs:

using System.Windows;

namespace WpfApplication6
{
    partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
            Button_Click(null, null);
        }

        void Button_Click(object sender, RoutedEventArgs e)
        {
            var items = new int[10000];
            for (int i = 0; i < items.Length; i++)
                items[i] = i + 1;
            listBox.ItemsSource = items;
        }
    }
}
7
задан Dave Clemmer 12 September 2011 в 17:10
поделиться

1 ответ

[

] Вы имеете в виду, что галочка установлена? Я думаю, что вам нужно изменить анимацию, когда вы отметите / установите флажок.[

] [

]Это не происходит на Windows XP (поэтому я думаю, что это анимация), я не тестировал Vista :)[

] [

]Удачи.[

]
2
ответ дан 7 December 2019 в 07:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: