C# 如果我只有一个AutomationElement,有没有办法访问WPF控件属性(特别是一个按钮&x27;s IsDefault)?

C# 如果我只有一个AutomationElement,有没有办法访问WPF控件属性(特别是一个按钮&x27;s IsDefault)?,c#,wpf,microsoft-ui-automation,C#,Wpf,Microsoft Ui Automation,我有一个AutomationElement,用于我试图访问的WPF应用程序中的外部应用程序中的特定WPF按钮。有没有办法找到按钮的IsDefault属性 我曾尝试使用(window)HwndSource.FromHwnd(hWnd).RootVisual,通过按钮的句柄访问按钮窗口的控件,其中hWnd是按钮窗口的NativeWindowHandle,但FromHwnd返回空值。通常,您无法在另一个进程中访问WPF控件对象。你也许可以用Snoop这样的工具做一些事情。在这个特定的例子中,我看到当我

我有一个AutomationElement,用于我试图访问的WPF应用程序中的外部应用程序中的特定WPF按钮。有没有办法找到按钮的IsDefault属性


我曾尝试使用
(window)HwndSource.FromHwnd(hWnd).RootVisual
,通过按钮的句柄访问按钮窗口的控件,其中hWnd是按钮窗口的
NativeWindowHandle
,但
FromHwnd
返回空值。

通常,您无法在另一个进程中访问WPF控件对象。你也许可以用Snoop这样的工具做一些事情。在这个特定的例子中,我看到当我将IsDefault设置为true时,按钮的自动化元素上的AccessKey属性是“\r”。否则它是空的(“”)。

默认值是附加属性吗?@GregD我不这么认为。似乎只是一个常规属性。不幸的是,在我的例子中,AccessKey被设置为不同的属性。IsDefault为true的按钮是否总是有一个AccessKey为“\r”?@M\u Tee显然,如果您将
AutomationProperties.AccessKey
设置为其他值,则情况可能会有所不同。这正是我在测试玩具示例时看到的。