【问题标题】:WPF Application crashes when not left clicking an Interaction.Triggers button未左键单击 Interaction.Triggers 按钮时 WPF 应用程序崩溃
【发布时间】:2021-10-10 06:25:21
【问题描述】:

我有一个带有自定义标题栏的应用程序。在标题栏中,我有一个关闭按钮来关闭应用程序。这是通过 WPF 中的 Interaction.Triggers 直接完成的,无需任何代码。

<i:Interaction.Triggers>
     <i:EventTrigger EventName="Click">
         <i:CallMethodAction MethodName="Close" TargetObject="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}}"/>
     </i:EventTrigger>
 </i:Interaction.Triggers>

我的问题是,如果我左键单击,这段代码可以正常工作,但是当我使用不同的鼠标按钮时,让它右键单击或鼠标中键,应用程序将崩溃而没有错误。

当您在代码中包含按钮逻辑时,我已经看到了如何避免崩溃

WPF application get crashed on pressing right mouse button

但这不适用于我的情况,或者我不知道如何应用这些知识

如果有人知道如何在不将逻辑移出 XAML 的情况下修复它,请告诉我。

【问题讨论】:

    标签: c# wpf xaml events


    【解决方案1】:
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="MouseDown">
                            <i:CallMethodAction MethodName="DragMove" TargetObject="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}}"/>
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
    

    这就是问题所在,我在同一个对象上有这个事件和问题中的事件。我通过将 DragMove 事件隔离到没有 CloseButton 的对象来修复它,反之亦然

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多