这不允许发射leftMouseDown
我试图在列表框中实现拖放功能(在列表框中)。 对于拖动我使用拇指控制(Mythumb是从拇指继承的类)
所以我已将项目面板设置为Canves,并将列表框项目的样式设置为以下
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Width" Value="150" />
<Setter Property="Height" Value="150" />
<Setter Property="Margin" Value="5,2" />
<Setter Property="Padding" Value="3" />
<Setter Property="dcc:OutputConfigurationPanel.Left" Value="{Binding Left}"></Setter>
<Setter Property="dcc:OutputConfigurationPanel.Top" Value="{Binding Top}"></Setter>
<Setter Property="IsSelected" Value="{Binding IsSelected}"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Grid DockPanel.Dock="Bottom" >
<Grid>
<Border BorderBrush="Black" Background="Black">
<ContentPresenter x:Name="ContentHost" Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
</Border>
<MythumbTemplate="{StaticResource MoveThumbTemplate}" Cursor="Hand" />
</Grid>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="Selector.IsSelected" Value="True">
<Setter Property="Background" Value="#FF233B00" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
拖放工作正常,但拇指不允许选择项目。 检查后,我发现mousedown事件没有发射。 有没有办法使通常的方式选择项目?
Thumb
总是会吃点鼠标,就像按钮一样。
正如我所见,你有两种选择:
从拇指的代码中,搜索直到找到列表框项目,然后将它的IsSelected
属性设置为true。
废用拇指和创造Behavior
与拖动交易,但不处理鼠标事件(即不设置e.Handled=true;
-这将保留列表框的功能。
选项1可能更快,但我强烈考虑选择2 - 更少干涉核心控制功能=更好。
链接地址: http://www.djcxy.com/p/59901.html上一篇: Thum not allowing to fire leftMouseDown
下一篇: How do I find out where the focus is going in my WPF application?