WPF错误:在布局/渲染过程中反复使TimeManager失效导致无限循环

时间:2015-01-13 12:42:28

标签: c# wpf listview mvvm runtime-error

这是一个非常棘手的问题。我遇到了一个错误,我只能从谷歌搜索中找到大约5个结果。

与一年前提出的问题完全相同:

Infinite loop invalidating the TimeManager

但是,我能够提供更多信息。 我有一个实现mvvm的基本WPF程序。我的代码打开了一个窗口,用于添加,编辑或删除单行详细信息。

我的窗口打开正常,我可以添加或删除行。

在第三次点击(第三次选择事件)之后点击时,每条线都会被选中,程序会因上述错误而崩溃。

在此之前我看到了一个上一个错误“调用堆栈只包含外部代码”(之前已经记录过: The call stack contains only external code)要求我禁用“Just My Code”才能继续。愚蠢的是,我这样做了,现在上面就是我出现的错误。

从研究中我知道这是一个xaml问题,但是我有太多的xaml在这里发布。这是我的listview项目在第三个选择上崩溃:

<ListView x:Name="RegexPatternsListBox" SelectionMode="Single" ItemsSource="{Binding RegexList}" KeyboardNavigation.TabNavigation="Continue" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Visible" HorizontalAlignment="Stretch" VerticalAlignment="Top" SelectedItem="{Binding SelectedRegex}" IsEnabled="true">
            <ListView.Resources>
                <Style TargetType="ListViewItem">
                    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                    <Setter Property="IsTabStop" Value="False" />
                    <Style.Triggers>
                        <EventTrigger RoutedEvent="PreviewGotKeyboardFocus">
                            <BeginStoryboard>
                                <Storyboard>
                                    <BooleanAnimationUsingKeyFrames
                        Storyboard.TargetProperty="(ListViewItem.IsSelected)">
                                        <DiscreteBooleanKeyFrame KeyTime="0" Value="True"/>
                                    </BooleanAnimationUsingKeyFrames>
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger>
                    </Style.Triggers>
                </Style>
            </ListView.Resources>
            <ListView.View>
    <GridView>
         <GridView.ColumnHeaderContainerStyle>
              <Style TargetType="{x:Type GridViewColumnHeader}">
                  <Setter Property="IsEnabled" Value="False"/>
                  <Setter Property="FontWeight" Value="Bold"/>
                      <Style.Triggers>
                           <Trigger Property="IsEnabled" Value="False">
                                <Setter Property="TextElement.Foreground" Value="Black"/>
                            </Trigger>
                            </Style.Triggers>
                        </Style>
                    </GridView.ColumnHeaderContainerStyle>
                    <GridView.Columns>
                        <GridViewColumn x:Name="description" Header="Description" CellTemplate="{StaticResource descriptionTemplate}" Width="Auto"/>
                        <GridViewColumn x:Name="regex" Header="Regex" CellTemplate="{StaticResource regexTemplate}" Width="{Binding ElementName=helperField, Path=ActualWidth}"/>
                    </GridView.Columns>
                </GridView>
            </ListView.View>
        </ListView>

与视图相关的代码几乎是从另一个正确运行的项目中逐字复制的,因此我不确定我的不同之处。也许这些信息会为我们所有人提供更多关于这个错误的信息?

  • 更新* 我尝试在列表中选择各种项目非常缓慢,每次选择之间留出几秒钟。通过这种方式,我在崩溃前达到了7个选择事件。可能会出现背景事件?

0 个答案:

没有答案