当 ListBoxItem 悬停在 ViewModel 上时触发事件
Trigger event in ViewModel when ListBoxItem has hover over
问题
我有一个显示图像列表的 Listbox。我希望能够将鼠标悬停在图像上并让它以更大的尺寸显示图像。我能够获得悬停效果并显示我输入的一些文本,但我需要为不同的 ListBoxItems.
更改图像
代码
这是我用来获得悬停效果的代码:
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Padding" Value="5,0,5,5" />
<Setter Property="Height" Value="140"/>
<Setter Property="Width" Value="200"/>
<Style.Triggers>
<Trigger Property="Control.IsMouseOver" Value="True">
<Setter Property="ToolTip" Value="{Binding IMAGEHERE}"></Setter>
<Setter Property="Control.Background" Value="#d64b36" />
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
如您所见,我有工具提示,但我需要将图像绑定到 ViewModel 的值。
如果我将鼠标悬停在 ListBoxItem 上时可以触发我的 ViewModel 中的事件,它应该可以解决我的问题。
我认为您可以使用 Image
控件设置 ToolTip
。
<Style.Triggers>
<Trigger Property="Control.IsMouseOver" Value="True">
<Setter Property="Control.ToolTip">
<Setter.Value>
<Image Source="{Binding Imagepath}" />
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
然后,您可以将源作为 Imagepath
属性 从您的 ViewModel 传递。我没有测试过这个。
问题
我有一个显示图像列表的 Listbox。我希望能够将鼠标悬停在图像上并让它以更大的尺寸显示图像。我能够获得悬停效果并显示我输入的一些文本,但我需要为不同的 ListBoxItems.
更改图像代码
这是我用来获得悬停效果的代码:
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Padding" Value="5,0,5,5" />
<Setter Property="Height" Value="140"/>
<Setter Property="Width" Value="200"/>
<Style.Triggers>
<Trigger Property="Control.IsMouseOver" Value="True">
<Setter Property="ToolTip" Value="{Binding IMAGEHERE}"></Setter>
<Setter Property="Control.Background" Value="#d64b36" />
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
如您所见,我有工具提示,但我需要将图像绑定到 ViewModel 的值。
如果我将鼠标悬停在 ListBoxItem 上时可以触发我的 ViewModel 中的事件,它应该可以解决我的问题。
我认为您可以使用 Image
控件设置 ToolTip
。
<Style.Triggers>
<Trigger Property="Control.IsMouseOver" Value="True">
<Setter Property="Control.ToolTip">
<Setter.Value>
<Image Source="{Binding Imagepath}" />
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
然后,您可以将源作为 Imagepath
属性 从您的 ViewModel 传递。我没有测试过这个。