2009-10-15 13 views
6

Tenemos un mecanismo de lenguaje que recurre a través de nuestras páginas XAML cuando se cargan, examina cada elemento para una propiedad Tag y usa su valor para recuperar un recurso de cadena para aplicar al elemento. Actualmente no es compatible con información sobre herramientas y tenemos que tener un código específico en cada página para aplicarles los recursos asignados. Estoy tratando de agregar esta funcionalidad a nuestro mecanismo recursivo.¿Cómo acceder mediante programación a ToolTipService de Silverlight FrameworkElement?

Así que estoy recurriendo a través del árbol y para cada elemento que es FrameworkElement, quiero saber si tiene un ToolTipService y si ese es el caso de que ToolTipService tenga un elemento ToolTip. Si lo hace, quiero recuperar la propiedad Tag, si corresponde, y establecer la propiedad Content con el valor que busco usando la etiqueta. Mi problema es que no puedo averiguar cómo determinar si hay una información sobre herramientas y un getaccess.

Aquí hay una muestra que muestra un elemento, en este caso una Imagen. Si estoy recurriendo a través del árbol y el elemento actual es la imagen, ¿cómo puedo acceder a la información sobre herramientas?

<Image x:Name="DateRangeSelectorButton" Grid.Column="0" Source="Images/OvalClock.png" Margin="2,0,2,0" Cursor="Hand"> 
    <ToolTipService.ToolTip> 
    <ToolTip Tag="dttlDateRangeSelectorButtonTooltip"/> 
    </ToolTipService.ToolTip> 
</Image> 

Respuesta

19

Utilice la propiedad de acceso adjunta: -

ToolTip tt = ToolTipService.GetToolTip(myFrameworkElement) As ToolTip; 
+0

excelente. Justo lo que necesitaba. No pensé en buscar métodos/propiedades estáticos; solo estaba mirando las propiedades del elemento con el que estaba trabajando. Algo para recordar para el futuro. –

+0

no son estáticos, son Propiedades de dependencia adjuntas (es decir, están definidos por otra clase, no por el UIElement y están adjuntos) –

Cuestiones relacionadas