![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks. |
| |||||||
| |
| | #1 (permalink) |
| | using UIAutmation to Is it possible to retrieve the AutomationElement of a control that is contained inside a VisualBrush? Or can controls that are rendered inside a VisualBrush not participate in UIAutomation ? Basically I have a ViewPort3D that contains a ModelVisual3D wich again has a GeometryModel3D with a DiffuseMaterial that has Brush of Type VisualBrush. This VisualBrush contains Controls such as a Button. I use UIAutomation to get the Button like this: (no success) PropertyCondition findWindow = new PropertyCondition(AutomationElement.NameProperty, "MyWindowTitle"); AutomationElement window = AutomationElement.RootElement.FindFirst(TreeScope.Descendants, findWindow); PropertyCondition findButton = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Button); // unfortunately the following returns null allthough there actually is a button (inside the VisualBrush) AutomationElement button = window.FindFirst(TreeScope.Descendants, findButton); InvokePattern pattern = button.GetCurrentPattern(InvokePattern.Pattern) as InvokePattern; pattern.Invoke(); // click that button ! any hints ? The basic goal behind all this is to enable Interactivity on a VisualBrush. I sucessfully used RayMeshGeometry3DHitTestResult to get the Texturecoordinates that where hit by the mouse. And I converted those to real PositionCoordinates of the Grid that contains the Buttons inside the VisualBrush. All I need to do now is simulate a mouseclick on the grid at that position. I wanted to do that using UIAutomation. |
My System Specs![]() |