C# 是否可以使用Microsoft Automation UI在WPF/WinForm应用程序上单击标签控件
在我们的应用程序中,我们有一个可点击的标签,它将弹出另一个窗口。我一直在阅读Microsoft Automation UI文档,但找不到单击标签控件的方法 我知道我不能使用Invoke模式,因为它只处理按钮控件 下面是我们从XAML获得的代码C# 是否可以使用Microsoft Automation UI在WPF/WinForm应用程序上单击标签控件,c#,wpf,microsoft-ui-automation,C#,Wpf,Microsoft Ui Automation,在我们的应用程序中,我们有一个可点击的标签,它将弹出另一个窗口。我一直在阅读Microsoft Automation UI文档,但找不到单击标签控件的方法 我知道我不能使用Invoke模式,因为它只处理按钮控件 下面是我们从XAML获得的代码 <Label Name="LblCompleteOrdersCount" Content="{Binding CompleteOrders, Mode=OneWay}" Margin="434,45,0,0" Height="62" Width="
<Label Name="LblCompleteOrdersCount" Content="{Binding CompleteOrders, Mode=OneWay}" Margin="434,45,0,0" Height="62" Width="170" Padding="0" HorizontalAlignment="Left" VerticalAlignment="Top" VerticalContentAlignment="Top" FontSize="56" FontWeight="Bold">
<Label.InputBindings>
<MouseBinding Command="{Binding Path=CompleteOrdersCommand}" MouseAction="LeftClick" />
</Label.InputBindings>
</Label>
我的提示是使用按钮。它源自ICommandSource接口,所以您可以轻松地使用命令将按钮与处理程序关联。扪心自问:标签提供了哪些按钮没有的功能?最好看看?覆盖默认按钮的模板,您将获得等效的外观。只要您不利用Label的任何附加功能,我就看不出有什么必要乱来。从我的观点来看,您有3个选项来解决这个问题:
是什么让你选择标签而不是按钮?任何有利于标签的特殊功能权重?@Maximus标签用于显示我们的完整订单数量。我们的业务需要一种方式,使他们能够轻松查看完整订单的数量(以及每个订单的摘要),以便将这些订单导出到excel表格。而Button无法做到这一点?@Maximus我们可以在其中放置一个按钮,但我们需要标签来显示已完成订单的数量。使用then按钮,替代默认模板并使其看起来像标签。如果Label只提供按钮功能,但缺少UI测试支持,我认为没有必要胡闹。这不是运行/部署应用程序的答案,因为此时更改设计超出了范围。选项(1)应该只在WPF中工作?你能给出或指出选项(2)的一个例子吗?嗨,关于(1)我只在WPF中使用了这个,不确定winforms->add new SO问题怎么办?关于(2)我很抱歉,这些年来我引用了错误的.dll名称,编辑了我的帖子,并为您添加了有关相关函数的microsoft docu链接。。