我有一个带有文本框和一些样式的按钮的数据模板。当焦点位于旁边的文本框时,我想让按钮显示鼠标悬停状态。这可能吗?伪造WPF鼠标悬停可能吗?
我想它会涉及到这样的事情。我可以通过使用FindVisualChild和FindName来获取文本框。然后,我可以在文本框上设置GotFocus事件来执行某些操作。
_myTextBox.GotFocus += new RoutedEventHandler(TB_GotFocus);
这里在TB_GotFocus我卡住了。我可以得到我想要显示鼠标悬停状态的按钮,但我不知道发送给它的事件。 MouseEnterEvent是不允许的。
void TB_GotFocus(object sender, RoutedEventArgs e)
{
ContentPresenter myContentPresenter = FindVisualChild<ContentPresenter>(this.DataTemplateInstance);
DataTemplate template = myContentPresenter.ContentTemplate;
Button _button= template.FindName("TemplateButton", myContentPresenter) as Button;
_button.RaiseEvent(new RoutedEventArgs(Button.MouseEnterEvent));
}
你可以发布你的控制模板给我们看吗? – 2009-01-23 19:02:56