1
這可能很簡單。不知道,我很驚訝,我無法找到解決方案。現在我的週末開始時,我可能不在意了:P。WPF - 訪問MouseOver上顯示的控件
目標:在TreeView
,每個項目都有一個CheckBox
和Content
。此外,還可以選擇刪除TreeViewItem
,該選項僅在MouseOver
上顯示。
問題是當我將鼠標懸停在項目上時,它觸發Button
的Visibility
顯示出來。現在,當我嘗試將鼠標移動到Button
刪除時,它現在得到Hidden
,因爲IsMouseHover
是false
。
下面是示例:
<TreeView Grid.Column="2" Name="trvMenu" HorizontalAlignment="Stretch" Margin="20" MaxHeight="200" ScrollViewer.VerticalScrollBarVisibility="Auto">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:TestPlan}" ItemsSource="{Binding Plans}">
<StackPanel Orientation="Horizontal">
<CheckBox Margin="5"/>
<TextBlock Text="{Binding Title}" Margin="5"/>
<Button Height="20" Width="20" x:Name="deletebutton" Margin="5" Visibility="Collapsed">
<Image Source="/Images/cross.png" Height="20"/>
</Button>
</StackPanel>
<HierarchicalDataTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="deletebutton" Property="Visibility" Value="Visible" />
</Trigger>
</HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
我需要訪問Button
上MouseOver
有沒有簡單的方法來解決這個問題?