如何找出禁用WPF按钮的原因?

q0qdq0h2  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(131)

我正在使用旧版WPF客户端,并且有一个项目列表,每个项目都显示在自定义控件中。该控件包含一个用于从列表中删除该项目的按钮。
当我向列表中添加一个项目时,按钮上的某个东西调用了.IsEnabled = false。我找不到任何直接调用它的东西。我试图错误地使用事件处理程序将IsEnabled设置回true,如下所示:

private void ButtonRemove_IsEnabledChanged(object sender, System.Windows.DependencyPropertyChangedEventArgs e)
{
    if (!(bool)e.NewValue)
    {
        buttonRemove.IsEnabledChanged -= ButtonRemove_IsEnabledChanged;
        buttonRemove.IsEnabled = true;
        buttonRemove.IsEnabledChanged += ButtonRemove_IsEnabledChanged;
    }
}

但这并没有改变什么。调用堆栈只显示Main()startUp()和“外部代码”:

我不知道如何找出是什么禁用了我的按钮。有什么想法如何追查是什么导致这一点?

编辑:

我想询问使用的调试技术,因为后端代码是愚蠢的错综复杂,我不想卸载堆栈溢出的实际工作,因为这将需要在这里发布几十个文件,如果不是几百个文件。

0md85ypi

0md85ypi1#

也许你的按钮没有被禁用,它不工作只是因为它被放置在一个网格或边界下,虽然它是可见的,通过点击它,你实际上是在点击网格。这发生在我身上!或者也许父容器被禁用了!

相关问题