說我有一個在XAML像這樣指定的風格ToolTip
:查找工具提示彈出
<Button Content="Click me" ToolTip="Likes to be clicked">
<Button.Resources>
<Style TargetType="{x:Type ToolTip}" BasedOn="{StaticResource {x:Type ToolTip}}">
<Setter Property="OverridesDefaultStyle" Value="true" />
<Setter Property="HasDropShadow" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToolTip}">
<StackPanel Background="Wheat" Height="200" Width="200">
<TextBlock x:Name="TxbTitle" FontSize="24" Text="ToolTip" Background="BurlyWood" />
<ContentPresenter />
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Resources>
</Button>
鑑於我對Button
一個參考,而且ToolTip
顯示時,我怎麼能找到ToolTip
的Popup
(後來尋找它的視覺兒童,例如TxbTitle
)?
更新:
基於pushpraj's答案,我能得到保持的(全)可視化樹,它看起來像這樣:
System.Windows.Controls.Primitives.PopupRoot
System.Windows.Controls.Decorator
System.Windows.Documents.NonLogicalAdornerDecorator
System.Windows.Controls.ToolTip
System.Windows.Controls.StackPanel
System.Windows.Controls.TextBlock (TxbTitle)
System.Windows.Controls.ContentPresenter
System.Windows.Controls.TextBlock
System.Windows.Documents.AdornerLayer
在這裏我能找到TxbTitle
TextBlock
。
(這樣的邏輯樹:)不過
System.Windows.Controls.Primitives.Popup
System.Windows.Controls.ToolTip
System.String
pushpraj的答案是基於我可以得到ToolTip
實例的保持。我得到的僅僅是Button
,而Button.ToolTip
屬性返回字符串"Likes to be clicked"
,而不是ToolTip
實例。
所以更具體地說,問題是,我可以得到ToolTip
或的Popup
的保持在某種程度上,當我的一切是Button
。
(瘋狂的想法:是有一些方法來枚舉所有打開Popup
S')
您想要訪問哪個事件? –
這不是一個事件。我正在研究一個需要信息的「工具」,它正在訪問另一個線程中的元素。但我也對純粹的理解感興趣...... –