0

(ファイル拡張子に応じて最初の列にアイコンが表示され、2番目の列にファイル名が含まれているグリッド)のアイテムDataTemplateに使用するものがあります。ListBox

<DataTemplate x:Key="ListItemTemplate">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="16"></ColumnDefinition>
        <ColumnDefinition Width="*"></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
    <Image Source="{Binding Icon}" Grid.Column="0" Grid.Row="0" Width="16" Height="16">
        <Image.ToolTip>
            <ToolTip Width="{Binding Path=ActualWidth, ElementName=ToolTipImage, Converter={StaticResource toolTipImageConverter}}" Height="{Binding Path=ActualHeight, ElementName=ToolTipImage, Converter={StaticResource toolTipImageConverter}}">
                <Image Source="{Binding FileNameForThumbnailDisplay}" Name="ToolTipImage">
                    <Image.RenderTransform >
                        <TransformGroup>
                            <ScaleTransform ScaleX="0.5" ScaleY="0.5"></ScaleTransform>
                        </TransformGroup>
                    </Image.RenderTransform>
                </Image>
            </ToolTip>
        </Image.ToolTip>
    </Image>
    <Label Content="{Binding FileNameWithExtension, Mode=OneWay}" Grid.Column="1" Grid.Row="0" BorderBrush="Transparent" Height="Auto"></Label>
</Grid>

最初の列のアイコンにカーソルを合わせると、ToolTip含まれているものが縮小されて表示されます。Imageこれは機能しますが、私が達成したいToolTipのは、縮小された画像のサイズに応じて画像の表示を減らすことです。たとえば、次のようになります。

リストボックス内の画像abc:

+--ToolTip-------+
|+-Scaled-Image-+|
||              ||
||              ||
|+--------------+|
+----------------+

リストボックス内の画像xyz:

+--ToolTip-----------------+
|+-Scaled-Image-----------+|
||                        ||
||                        ||
|+------------------------+|
+--------------------------+

(レンダリングされた要素の)Converterを返すようにaを記述して寸法を設定しましたが、コンバーターが入力されることはありません。ActualWidthImage

に使用するコードを提供する必要がありましたが、入力されていないため、Converter関連性がないと思います(デバッグ中のブレークポイントはヒットしません)。

ToolTipコントロールの寸法が内部の画像に動的に調整されるようにするにはどうすればよいですか?これは可能ですか?

4

1 に答える 1

1

またはに変更RenderTranformLayoutTransform、バインドしないでください。ツールチップウィンドウは自動的にサイズに合わせます。WidthHeight

<Image.ToolTip>
    <ToolTip>  
        <Image Source="{Binding FileNameForThumbnailDisplay}" Margin="4">
            <Image.LayoutTransform> 
                <ScaleTransform ScaleX="0.5" ScaleY="0.5"/> 
            </Image.LayoutTransform> 
        </Image>
    </ToolTip>
</Image.ToolTip>  
于 2012-08-02T10:54:06.117 に答える