Как заставить элементы контекстного меню работать с UI Automation в Silverlight? - PullRequest
3 голосов
/ 25 апреля 2011

У меня серьезные трудности с отображением MenuItem с помощью UISpy для тестирования автоматизации пользовательского интерфейса.Элементы меню не отображаются в UISpy.Назначение свойств AutomationProperties.AutomationId не помогает.Я понятия не имею, что можно сделать.Мне интересно, есть ли хорошее решение, чтобы решить эту проблему.Любые идеи высоко ценятся.Спасибо!

Я проверил это на этом простом прототипе.Обратите внимание, что добавленная кнопка отображается в UISpy:

<Grid x:Name="Grid" AutomationProperties.AutomationId="Grid" Width="150" Height="150" >
    <StackPanel Orientation="Vertical">
        <Border x:Name="Border" AutomationProperties.AutomationId="Border" 
            BorderBrush="Black" BorderThickness="1" Background="#FFE7E7E7" Height="125">

            <InputToolkit:ContextMenuService.ContextMenu>
                <InputToolkit:ContextMenu x:Name="menu" AutomationProperties.AutomationId="menu" >
                    <InputToolkit:MenuItem x:Name="Item1" AutomationProperties.AutomationId="Item1" Header="Item 1" />
                    <InputToolkit:MenuItem x:Name="Item2" AutomationProperties.AutomationId="Item2" Header="Item 2"/>
                    <InputToolkit:MenuItem x:Name="Item3" AutomationProperties.AutomationId="Item3" Header="Item 3" />  
                </InputToolkit:ContextMenu>
            </InputToolkit:ContextMenuService.ContextMenu>   
        </Border>
        <Button x:Name="Button1" AutomationProperties.AutomationId="Button1" 
        Height="25" Width="150" Content="Button"/>
    </StackPanel>
</Grid>

1 Ответ

0 голосов
/ 30 мая 2012

Для решения этой проблемы используйте SilverlightSpy.

...