Как привязать DataTemplate всплывающей подсказки к родительскому элементу? - PullRequest
0 голосов
/ 13 сентября 2018

Я написал приведенные ниже коды, чтобы показать изображение в содержании ListBoxItem в окне всплывающей подсказки (вид эффекта предварительного просмотра). но они не работают вообще.

<ListBox>
  <ListBoxItem>
    <Image x:Name="image" Source="image.jpg" Stretch="Uniform">
      <Image.ToolTip>
        <Image Source="{Binding RelativeSource={RelativeSource AncestorType=Image}, Path=Source}" />
      </Image.ToolTip>
    </Image>
  </ListBoxItem>  
<ListBox>  
<ListBox>
  <ListBoxItem>
    <Image x:Name="image" Source="image.jpg" Stretch="Uniform">
      <Image.ToolTip>
        <Image Source="{Binding Source, RelativeSource={RelativeSource TemplatedParent}}" />
      </Image.ToolTip>
    </Image>
  </ListBoxItem>  
<ListBox>  
<ListBox>
  <ListBoxItem>
    <Image x:Name="image" Source="image.jpg" Stretch="Uniform">
      <Image.ToolTip>
        <Image Source="{Binding}" />
      </Image.ToolTip>
    </Image>
  </ListBoxItem>  
<ListBox>  

Ничего из этого не сработало.

1 Ответ

0 голосов
/ 13 сентября 2018

Это должно работать:

<ListBox>
    <ListBoxItem>
        <Image x:Name="image" Source="screen.png" Stretch="Uniform">
            <Image.ToolTip>
                <ToolTip>
                    <Image Source="{Binding RelativeSource={RelativeSource AncestorType=ToolTip}, Path=PlacementTarget.Source}" />
                </ToolTip>
            </Image.ToolTip>
        </Image>
    </ListBoxItem>
</ListBox>

Image не является визуальным предком ToolTip, но вы можете использовать свойство ToolTip PlacementTarget для привязки к Image.

...