(ファイル拡張子に応じて最初の列にアイコンが表示され、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を記述して寸法を設定しましたが、コンバーターが入力されることはありません。ActualWidth
Image
に使用するコードを提供する必要がありましたが、入力されていないため、Converter
関連性がないと思います(デバッグ中のブレークポイントはヒットしません)。
ToolTip
コントロールの寸法が内部の画像に動的に調整されるようにするにはどうすればよいですか?これは可能ですか?