我在为WPF用户控件获取正确行为时遇到了一些问题。
我使用列表框在像这样定义的datatemplate中显示数据绑定ObservableCollection
的元素
<DataTemplate DataType="{x:Type ToolNodeVM:NodeViewModel}">
<Thumb>
<Thumb.Template>
<ControlTemplate>
<Border Width="160" Margin="0,0,10,0" ClipToBounds="False">
<TextBlock HorizontalAlignment="Center" Text="{Binding NodeName}" Foreground="White"/>
</Border>
</ControlTemplate>
</Thumb.Template>
<i:Interaction.Triggers>
<i:EventTrigger EventName="DragDelta">
<cmd:EventToCommand PassEventArgsToCommand="True"
Command="{Binding DragDeltaCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Thumb>
</DataTemplate>
如果我按下文本块,拇指会接收鼠标事件并执行DragDeltaCommand
数据绑定命令,如果鼠标下没有元素(在Border
内,列表框会收到命令并将项目设置为所选项目,并使用默认的蓝色突出显示该项目。
最终我想给项目一个背景,但这意味着列表框项目永远不会被选中,因为会有某些东西...... Border
的背景。
如何让项目始终被选中,如何通过拖拽delta命令将鼠标按下事件发送到列表框和拇指?