有什么简单的方法可以在Url
事件中传递TextBlock_IsMouseDirectlyOverChanged
值而不显示在UI上?
<TreeView Grid.Row="1" ItemsSource="{Binding Nodes}" >
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=Nodes}">
<TextBlock IsMouseDirectlyOverChanged="TextBlock_IsMouseDirectlyOverChanged">
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}">
<Binding Path="Name" />
<Binding Path="Url" />
</MultiBinding>
</TextBlock.Text>
<TextBlock.ToolTip>
<ToolTip Visibility="Collapsed">
<TextBlock Text="{Binding Url}"></TextBlock>
</ToolTip>
</TextBlock.ToolTip>
</TextBlock>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
DataModel:
public class Node
{
public string Name { get; set; }
public string Url { get; set; }
public ObservableCollection<Node> Nodes { get; set; }
}
答案 0 :(得分:2)
您可以这样做:
(Node)(((TextBlock)sender).DataContext).Url
或者如此处建议的Add parameter to Button click event,您可以使用Tag
属性作为参数。