0

ToolTipホバーした画像でを表示しようとしていますが、サイズが異なります。

私はこれを試しました:

<Image Source="c:\Pictures\Airplane.jpg" Width="50" Height="50">
    <Image.ToolTip>
        <Image Width="300" Height="300" 
               Source="{Binding Path=Source, RelativeSource={RelativeSource AncestorType=Image, AncestorLevel=1}}
    </Image.ToolTip>
</Image>

上記はホバー時に大きな画像を作成しますが、画像の内容が空白であるため、バインディングが機能しなかった可能性があります。

数時間後、私は助けが必要だと思います...私は何が欠けていますか?

私は自分のバインディングスキルを練習しようとしているだけ なので、この答え のような問題に対する他の解決策は望んでいません、ありがとう。

4

1 に答える 1

3

うまくいきました。最初の考えは正しかったですRelativeSource。ツールチップがビジュアルツリーの一部ではないため、機能しません。うまくいくと思いElementNameましたが、WPFはある種の新しい名前のネームスコープを作成しているようです(確かではありません)。したがって、それを機能させる唯一の方法はDataContext、2つのビジュアルツリー間の「プロキシ」として使用することでした。適切な情報を含むビューモデルを使用することもできます。

<Image x:Name="myImage" Source="c:\Pictures\Airplane.jpg" DataContext="{Binding RelativeSource={RelativeSource Self}}" Width="50" Height="50">
    <Image.ToolTip>
        <Image Width="300" Height="300" Source="{Binding Path=Source}"/>
    </Image.ToolTip>
</Image>

ここに画像の説明を入力してください

于 2013-03-18T11:58:17.547 に答える