来自 Binding ElementName 的值生成空字符串
Value from Binding ElementName producing empty string
我有一个 Datagrid,它有一个 DataGridTemplateColumn,其中包含一个 ListView,其 Itemsource 绑定到一个字符串数组。
在该 ListView 中,我定义了一个 ItemTemplate,因为我希望列表中每个项目的前景都取决于条件 - 所以它应用于 TextBlock。
我希望在 ListView 中的每个项目悬停时显示工具提示,因此我在该 TextBlock 中定义了一个工具提示
我想要做的是让工具提示显示 title/detail 通过使用转换器(以获取不同列表中的项目索引)的特定项目。
为此,我需要工具提示来了解 ListView 项,但我似乎无法让它工作。 TextBlock 本身使用 Path=.
检索它,我尝试将 TextBlock 命名为 ListItem
并将其检索为 ElementName 无济于事 - 结果只是空字符串。
这是相关的 xaml(删除了格式属性)。
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock x:Name="ListItem" Text="{Binding Path=.}" Foreground="{Binding RelativeSource={RelativeSource Self}, Path=Text, Converter={StaticResource ConvertItemToColour}}">
<TextBlock.ToolTip>
<ToolTip>
<StackPanel Orientation="Vertical">
<Label>
<TextBlock Text="{Binding ElementName=ListItem, Path=Text, Converter={StaticResource ConvertItemToTitle}}"/> <!-- Item Title -->
</Label>
<Label>
<TextBlock/> <!-- Item Description -->
</Label>
</StackPanel>
</ToolTip>
</TextBlock.ToolTip>
</TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
ToolTip
、like Popup
不是主视觉树的一部分,因此 ElementName
和 RelativeSource
绑定都不会超出 ToolTip
但 [= ToolTip
中的 16=] 仍应与 ListViewItem
相同
<ToolTip>
<StackPanel Orientation="Vertical">
<Label>
<TextBlock Text="{Binding Path=., Converter={StaticResource ConvertItemToTitle}}"/>
</Label>
</StackPanel>
</ToolTip>
Text="{Binding Path=.}"
应该在 ToolTip
中给出与 DataTemplate
相同的结果
我有一个 Datagrid,它有一个 DataGridTemplateColumn,其中包含一个 ListView,其 Itemsource 绑定到一个字符串数组。
在该 ListView 中,我定义了一个 ItemTemplate,因为我希望列表中每个项目的前景都取决于条件 - 所以它应用于 TextBlock。
我希望在 ListView 中的每个项目悬停时显示工具提示,因此我在该 TextBlock 中定义了一个工具提示
我想要做的是让工具提示显示 title/detail 通过使用转换器(以获取不同列表中的项目索引)的特定项目。
为此,我需要工具提示来了解 ListView 项,但我似乎无法让它工作。 TextBlock 本身使用 Path=.
检索它,我尝试将 TextBlock 命名为 ListItem
并将其检索为 ElementName 无济于事 - 结果只是空字符串。
这是相关的 xaml(删除了格式属性)。
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock x:Name="ListItem" Text="{Binding Path=.}" Foreground="{Binding RelativeSource={RelativeSource Self}, Path=Text, Converter={StaticResource ConvertItemToColour}}">
<TextBlock.ToolTip>
<ToolTip>
<StackPanel Orientation="Vertical">
<Label>
<TextBlock Text="{Binding ElementName=ListItem, Path=Text, Converter={StaticResource ConvertItemToTitle}}"/> <!-- Item Title -->
</Label>
<Label>
<TextBlock/> <!-- Item Description -->
</Label>
</StackPanel>
</ToolTip>
</TextBlock.ToolTip>
</TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
ToolTip
、like Popup
不是主视觉树的一部分,因此 ElementName
和 RelativeSource
绑定都不会超出 ToolTip
但 [= ToolTip
中的 16=] 仍应与 ListViewItem
<ToolTip>
<StackPanel Orientation="Vertical">
<Label>
<TextBlock Text="{Binding Path=., Converter={StaticResource ConvertItemToTitle}}"/>
</Label>
</StackPanel>
</ToolTip>
Text="{Binding Path=.}"
应该在 ToolTip
中给出与 DataTemplate