在后面的代码中访问AutomationProperties.AutomationId

时间:2014-07-13 00:41:00

标签: wpf code-behind

我有一个WPF应用程序,其中包含一些主要使用代码编写的旧版面板。我需要为面板上的控件设置AutomationProperties.AutomationId。例如,此复选框

CheckBox myCheckbox = new CheckBox();

如何设置AutomationProperties.AutomationId?

3 个答案:

答案 0 :(得分:6)

myCheckbox.SetValue(AutomationProperties.AutomationIdProperty, "checkBoxAutoID");

答案 1 :(得分:1)

您必须添加名称属性" myCheckbox"到xaml复选框定义以使用以下LOC:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>sciaGroupID</groupId>
  <artifactId>sciaArtifactID</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>SchemaChangeImpactAnalysis</name>
  <description>Schema Change Impact Analysis</description>
     <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <java.version>1.8</java.version>
      <junit.version>4.12</junit.version>
      <junit.jupiter.version>5.0.0</junit.jupiter.version>
      <junit.vintage.version>${junit.version}.0</junit.vintage.version>
      <junit.jupiter.version>5.0.0</junit.jupiter.version>
      <junit.platform.version>1.0.0</junit.platform.version>
   </properties>
         <dependencies>
        <dependency>
            <groupId>org.neo4j</groupId>
            <artifactId>neo4j</artifactId>
            <version>3.2.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.neo4j.driver/neo4j-java-driver -->
       <dependency>
            <groupId>org.neo4j.driver</groupId>
            <artifactId>neo4j-java-driver</artifactId>
            <version>1.3.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.23</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>  
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.4.0</version>
        </dependency>
        <dependency>
          <groupId>org.antlr</groupId>
          <artifactId>antlr4-maven-plugin</artifactId>
            <version>4.3</version>
            <type>maven-plugin</type>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.antlr/antlr4-runtime -->
        <dependency>
            <groupId>org.antlr</groupId>
            <artifactId>antlr4-runtime</artifactId>
            <version>4.7.1</version>
        </dependency>
        <?ignore
            <dependency>
                <groupId>org.neo4j.driver</groupId>
                <artifactId>neo4j-java-driver</artifactId>
                <version>1.0.0-RC2</version>
            </dependency>
        ?>
        <!-- https://howtoprogram.xyz/2016/09/09/junit-5-maven-example/ -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.0.0</version>
            <scope>test</scope>
        </dependency>
        <!-- To run tests on IDE such as Eclipse, Intellij -->
        <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>${junit.version}</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.junit.platform</groupId>
         <artifactId>junit-platform-runner</artifactId>
         <version>${junit.platform.version}</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.junit.vintage</groupId>
         <artifactId>junit-vintage-engine</artifactId>
         <version>${junit.vintage.version}</version>
         <scope>test</scope>
      </dependency>
    </dependencies>
</project>

您也可以在xaml中定义:

myCheckbox.SetValue(AutomationProperties.AutomationIdProperty, "checkBoxAutoID");

答案 2 :(得分:0)

试试这个:

<块引用>

AutomationProperties.SetAutomationId(myCheckbox, "YourDesiredname");

当然你需要包含命名空间。

<块引用>

使用 System.Windows.Automation;