2012-03-13 13 views
0

我使用从Expensify无法然后,我按下控制“名”

的WP7test框架,但我有我的列表框的问题使用。

<controls:PanoramaItem Header="{Binding Labels.MainMenu_Main}"> 
     <ListBox ItemsSource="{Binding MenuItems}"> 
      <i:Interaction.Triggers> 
       <i:EventTrigger EventName="SelectionChanged"> 
        <cmd:EventToCommand Command="{Binding MenuItemSelectedCommand}" PassEventArgsToCommand="True" /> 
       </i:EventTrigger> 
      </i:Interaction.Triggers> 

      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <TextBlock Text="{Binding Name}" /> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 
    </controls:PanoramaItem> 

当我尝试使用然后我按下控制“someName”

无法设置焦点控制“someName”

不要任何人知道我可以选择/按下控制?

+0

XAML中不显示任何控件名称定义。您的问题中的代码是否与您在实际应用中的代码有故意不同?你能展示一些重现问题的东西吗? – 2012-03-13 11:08:13

+0

没有我的代码不是故意不同的。但我不知道如何选择我的ListBox中的项目。当然,我可以使用类似于“然后我点击屏幕x%从左边和y%从顶部”的东西,但有其他方式吗? – MJensen 2012-03-13 11:51:50

回答

0

如果你想通过名称来引用一个控件,你需要给它一个名字。例如:

<controls:PanoramaItem Header="{Binding Labels.MainMenu_Main}"> 
    <ListBox ItemsSource="{Binding MenuItems}" Name="someName" /> 
</controls:PanoramaItem> 

列表框现在可以按名称引用。

+0

感谢您的回答。我已经知道我可以在我的列表框中输入一个名字。但我似乎无法找到我的列表框中的每个项目上的名称。 \t [然后(@ “我点击文本 ”“([^ \” “] *)”, “$”)] \t \t \t \t \t \t \t \t VAR:但我已让这样一个自定义步骤找到一个解决办法position = Emu.ApplicationAutomationController.GetPositionOfControlOrText(controlId); var gesture = TapGesture.TapOnPosition((int)(position.Left + position.Width/2),(int)(position.Top + position.Height/2));}}; \t \t \t \t \t Emu.DisplayInputController.DoGesture(gesture); } – MJensen 2012-03-14 06:57:32

1

如果您想要查找单个项目,则可以将auto:标记值放在每个单独的列表项上。

例如:你可以使用一个列表项模板像

<TextBlock Tag="{Binding AutomationTag}" Text="{Title}" /> 

其中AutomationTag解析为一个唯一的字符串列表的每个项目,如:auto:1auto:2

相关问题