![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
|
Welcome to Vista Forums we are your forum to discuss Windows Vista x64 and x86 systems. Whether you need help or just want to post an idea you have on Vista, this is the forum for you.
br> br> |
| |||||||
![]() |
| | Thread Tools | Display Modes |
| | #1 (permalink) |
| Guest | 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. |