【发布时间】:2011-01-13 15:39:41
【问题描述】:
我在 wpf 中有一个切换按钮列表,我希望用户能够通过拖动来切换多个按钮。为此,我为每个按钮使用了 MouseEnter-Event。当我按下按钮外的鼠标按钮并开始拖动时,这确实有效。但是,当我在按钮上按下鼠标按钮并开始拖动时,仅在我按下鼠标按钮的第一个按钮上触发 MouseEnter-Event(也没有触发鼠标悬停或鼠标移动等其他事件)。
代码如下:
public void AddButton()
{
ToggleButton btn = new ToggleButton();
btn.MouseEnter += VisibilityButton_Enter;
this.gridButtons.Children.Add(btn);
}
private void VisibilityButton_Enter(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed || e.RightButton == MouseButtonState.Pressed)
{
ToggleButton btn = sender as ToggleButton;
btn.IsChecked = !btn.IsChecked;
}
}
我找到了使用“拖放”和拖动事件的解决方案,但我认为一定有更简单的解决方案?
【问题讨论】:
标签: wpf button mouseenter