在使用WPF项目的发布版本时,我收到以下错误 . 该错误与我拥有的ListView有关 . 对于这个Listview /我在内部使用Blend FluidMoveBehavior

<ListView x:Name="SearchListBox" Margin="4,100,4,4"
              ItemsSource="{Binding Source={StaticResource AppsCollectionViewSource}}"
              BorderBrush="{x:Null}"
              ScrollViewer.VerticalScrollBarVisibility="Disabled"
              ScrollViewer.HorizontalScrollBarVisibility="Auto"
              ScrollViewer.CanContentScroll="True" >
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel Orientation="Vertical">
                <i:Interaction.Behaviors>
                    <ei:FluidMoveBehavior AppliesTo="Children" Duration="0:0:0.5">
                        <ei:FluidMoveBehavior.EaseY>
                            <QuadraticEase EasingMode="EaseInOut"/>
                        </ei:FluidMoveBehavior.EaseY>
                        <ei:FluidMoveBehavior.EaseX>
                            <QuadraticEase EasingMode="EaseInOut"/>
                        </ei:FluidMoveBehavior.EaseX>
                    </ei:FluidMoveBehavior>
                </i:Interaction.Behaviors>
            </WrapPanel>
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
</ListView>

在UserControl.Resources我有一个Trigger,它在IsMouseOver时触发动画(缩放) .

<Style TargetType="{x:Type ListViewItem}">

    <Setter Property="Background" Value="Transparent" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ListViewItem}">
                <ContentPresenter />
            </ControlTemplate>
        </Setter.Value>
    </Setter>

    <Setter Property="RenderTransformOrigin" Value="0 0.5"/>
    <Setter Property="RenderTransform">
        <Setter.Value>
            <ScaleTransform ScaleX="1" ScaleY="1"/>
        </Setter.Value>
    </Setter>

    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Trigger.EnterActions>
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            Storyboard.TargetProperty="RenderTransform.ScaleX"
                            To="1.28" Duration="0:0:0.2"/>
                        <DoubleAnimation
                            Storyboard.TargetProperty="RenderTransform.ScaleY"
                            To="1.28" Duration="0:0:0.2"/>
                    </Storyboard>
                </BeginStoryboard>
            </Trigger.EnterActions>
            <Trigger.ExitActions>
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation
                            Storyboard.TargetProperty="RenderTransform.ScaleX"
                            To="1" Duration="0:0:0.2"/>
                        <DoubleAnimation
                            Storyboard.TargetProperty="RenderTransform.ScaleY"
                            To="1" Duration="0:0:0.2"/>
                    </Storyboard>
                </BeginStoryboard>
            </Trigger.ExitActions>
        </Trigger>
    </Style.Triggers>
</Style>

在Debug中没有错误,在执行Release版本时,我有时会在调整Window大小时崩溃应用程序 . 我将VS附加到流程中,我得到了:

Cannot resolve all property references in the property path 'RenderTransform.ScaleX'. Verify that applicable objects support the properties.

任何想法如何解决这个问题?我没有代码隐藏,所有声明都在XAML中完成 . 如果我只使用FluidMoveBehavior或只使用IsMouseOver,问题就会消失 .

谢谢 .

UPDATE

我发现,如果我调整窗口并将鼠标悬停在ListView内的矩形上,而FluidMoveBehavior仍在动画/重新排序ListView项目,则会出现问题 . 所以问题似乎出现在Trigger IsMouseOver中(我还通过注释Trigger IsMouseOver代码部分来确认这一点) . 如果FluidMoveBehavior仍然是动画,则可以通过取消IsMouseOver事件来解决该问题 . 任何人都知道如何在XAML代码中执行此操作?