Click a button programmatically

ButtonAutomationPeer bap = new ButtonAutomationPeer(myButton);

IInvokeProvider iip = bap.GetPattern(PatternInterface.Invoke) as IInvokeProvider;

iip.Invoke(); // This clicks the Button

ButtonAutomationPeer在namespace using System.Windows.Automation.Peers;中
IInvokeProvider须添加引用UIAutomationProvider.dll,并添加namespace using System.Windows.Automation.Provider;
此代码在自动化测试时很有用。

附System.Windows.Automation.Peers下所有类:

namespace System.Windows.Automation.Peers

{

 

    public class ButtonAutomationPeer : ButtonBaseAutomationPeer, IInvokeProvider

 

    public abstract class ButtonBaseAutomationPeer : FrameworkElementAutomationPeer

 

    public class CheckBoxAutomationPeer : ToggleButtonAutomationPeer

 

    public class ComboBoxAutomationPeer : SelectorAutomationPeer, IValueProvider, IExpandCollapseProvider

 

    public abstract class ContentTextAutomationPeer : FrameworkContentElementAutomationPeer

 

    public class ContextMenuAutomationPeer : FrameworkElementAutomationPeer

 

    public class DocumentAutomationPeer : ContentTextAutomationPeer

 

    public class DocumentPageViewAutomationPeer : FrameworkElementAutomationPeer

 

    public class DocumentViewerAutomationPeer : DocumentViewerBaseAutomationPeer

 

    public class DocumentViewerBaseAutomationPeer : FrameworkElementAutomationPeer

 

    public class ExpanderAutomationPeer : FrameworkElementAutomationPeer, IExpandCollapseProvider

 

    public class FixedPageAutomationPeer : FrameworkElementAutomationPeer

 

    public class FlowDocumentPageViewerAutomationPeer : DocumentViewerBaseAutomationPeer

 

    public class FlowDocumentReaderAutomationPeer : FrameworkElementAutomationPeer, IMultipleViewProvider

 

    public class FlowDocumentScrollViewerAutomationPeer : FrameworkElementAutomationPeer

 

    public class FrameAutomationPeer : FrameworkElementAutomationPeer

 

    public class FrameworkContentElementAutomationPeer : ContentElementAutomationPeer

 

    public class FrameworkElementAutomationPeer : UIElementAutomationPeer

 

    public class GridSplitterAutomationPeer : ThumbAutomationPeer, ITransformProvider

 

    public class GridViewAutomationPeer : IViewAutomationPeer, ITableProvider, IGridProvider

 

    public class GridViewCellAutomationPeer : FrameworkElementAutomationPeer, ITableItemProvider, IGridItemProvider

 

    public class GridViewColumnHeaderAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider, ITransformProvider

 

    public class GridViewHeaderRowPresenterAutomationPeer : FrameworkElementAutomationPeer

 

    public class GridViewItemAutomationPeer : ListBoxItemAutomationPeer

 

    public class GroupBoxAutomationPeer : FrameworkElementAutomationPeer

 

    public class GroupItemAutomationPeer : FrameworkElementAutomationPeer

 

    internal class HwndHostAutomationPeer : FrameworkElementAutomationPeer

 

    public class HyperlinkAutomationPeer : TextElementAutomationPeer, IInvokeProvider

 

    public class ImageAutomationPeer : FrameworkElementAutomationPeer

 

    public class InkCanvasAutomationPeer : FrameworkElementAutomationPeer

 

    public class InkPresenterAutomationPeer : FrameworkElementAutomationPeer

 

    public abstract class ItemAutomationPeer : AutomationPeer

 

    [DefaultMember("Item")]

    internal class ItemPeersStorage

 

    public abstract class ItemsControlAutomationPeer : FrameworkElementAutomationPeer

 

    public interface IViewAutomationPeer

 

    public class LabelAutomationPeer : FrameworkElementAutomationPeer

 

    public class ListBoxAutomationPeer : SelectorAutomationPeer

 

    public class ListBoxItemAutomationPeer : SelectorItemAutomationPeer, IScrollItemProvider

 

    public class ListBoxItemWrapperAutomationPeer : FrameworkElementAutomationPeer

 

    public class ListViewAutomationPeer : ListBoxAutomationPeer

 

    public class MediaElementAutomationPeer : FrameworkElementAutomationPeer

 

    public class MenuAutomationPeer : FrameworkElementAutomationPeer

 

    public class MenuItemAutomationPeer : FrameworkElementAutomationPeer, IExpandCollapseProvider, IInvokeProvider, IToggleProvider

 

    public class NavigationWindowAutomationPeer : WindowAutomationPeer

 

    public class PasswordBoxAutomationPeer : FrameworkElementAutomationPeer, IValueProvider

 

    internal class PopupRootAutomationPeer : FrameworkElementAutomationPeer

 

    public class ProgressBarAutomationPeer : RangeBaseAutomationPeer, IRangeValueProvider

 

    public class RadioButtonAutomationPeer : ToggleButtonAutomationPeer, ISelectionItemProvider

 

    public class RangeBaseAutomationPeer : FrameworkElementAutomationPeer, IRangeValueProvider

 

    public class RepeatButtonAutomationPeer : ButtonBaseAutomationPeer, IInvokeProvider

 

    public class RichTextBoxAutomationPeer : TextAutomationPeer

 

    internal class RootBrowserWindowAutomationPeer : WindowAutomationPeer

 

    public class ScrollBarAutomationPeer : RangeBaseAutomationPeer

 

    public class ScrollViewerAutomationPeer : FrameworkElementAutomationPeer, IScrollProvider

 

    public abstract class SelectorAutomationPeer : ItemsControlAutomationPeer, ISelectionProvider

 

    public abstract class SelectorItemAutomationPeer : ItemAutomationPeer, ISelectionItemProvider

 

    public class SeparatorAutomationPeer : FrameworkElementAutomationPeer

 

    public class SliderAutomationPeer : RangeBaseAutomationPeer

 

    public class StatusBarAutomationPeer : FrameworkElementAutomationPeer

 

    public class StatusBarItemAutomationPeer : FrameworkElementAutomationPeer

 

    public class TabControlAutomationPeer : SelectorAutomationPeer, ISelectionProvider

 

    public class TabItemAutomationPeer : SelectorItemAutomationPeer, ISelectionItemProvider

 

    public class TabItemWrapperAutomationPeer : FrameworkElementAutomationPeer

 

    public class TableAutomationPeer : TextElementAutomationPeer, IGridProvider

 

    public class TableCellAutomationPeer : TextElementAutomationPeer, IGridItemProvider

 

    public abstract class TextAutomationPeer : FrameworkElementAutomationPeer

 

    public class TextBlockAutomationPeer : FrameworkElementAutomationPeer

 

    public class TextBoxAutomationPeer : TextAutomationPeer, IValueProvider

 

    public class TextElementAutomationPeer : ContentTextAutomationPeer

 

    public class ThumbAutomationPeer : FrameworkElementAutomationPeer

 

    public class ToggleButtonAutomationPeer : ButtonBaseAutomationPeer, IToggleProvider

 

    public class ToolBarAutomationPeer : FrameworkElementAutomationPeer

 

    public class ToolTipAutomationPeer : FrameworkElementAutomationPeer

 

    public class TreeViewAutomationPeer : FrameworkElementAutomationPeer, ISelectionProvider

 

    public class TreeViewItemAutomationPeer : FrameworkElementAutomationPeer, IExpandCollapseProvider, ISelectionItemProvider, IScrollItemProvider

 

    public class UserControlAutomationPeer : FrameworkElementAutomationPeer

 

    public class Viewport3DAutomationPeer : FrameworkElementAutomationPeer

 

    public class WindowAutomationPeer : FrameworkElementAutomationPeer

}

你可能感兴趣的:(button)