未左键单击 Interaction.Triggers 按钮时 WPF 应用程序崩溃
Posted
技术标签:
【中文标题】未左键单击 Interaction.Triggers 按钮时 WPF 应用程序崩溃【英文标题】:WPF Application crashes when not left clicking an Interaction.Triggers button 【发布时间】: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 的情况下修复它,请告诉我。
【问题讨论】:
【参考方案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 的对象来修复它,反之亦然
【讨论】:
以上是关于未左键单击 Interaction.Triggers 按钮时 WPF 应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章