我已经在WinForms表单中添加了一个WPF用户控件,但是我无法在WPF控件上接收事件。
我尝试订阅MouseEnter事件,但从不调用事件处理程序方法。 我正在使用Visual Studio(2010 Express版)设计器添加WPF控件。我添加了一个ElementHost,然后将我的控件与主机关联。
以下是表单的截图:
WPF控件是工具条下面的帮助广告。控件末尾有一个链接,当添加到winform elementhost时,不会收到任何输入事件。
以下是组件的xaml代码:
<UserControl x:Class="Telbit.TeStudio.View.Forms.HelpAd"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="30" Width="500"
x:Name="HelpAdControl"
Background="#FFD3DCE6"
BorderBrush="#FFB9C4D2"
BorderThickness="0 0 0 1">
<Grid>
<StackPanel Orientation="Horizontal">
<Image Name="icnHelpAd"
HorizontalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding ElementName=HelpAdControl, Path=HasIcon}"/>
<TextBlock Name="txtHelpType" Margin="5 0 0 0"
Visibility="{Binding ElementName=HelpAdControl, Path=HasType}"
Text="{Binding ElementName=HelpAdControl, Path=HelpType}"
TextBlock.FontFamily="Verdana" TextBlock.FontSize="10" FontWeight="Bold" Foreground="#FF939FBB"
VerticalAlignment="Center" />
<TextBlock Name="txtHelpDescription" Margin="5 0 0 0"
Visibility="{Binding ElementName=HelpAdControl, Path=HasDescription}"
Text="{Binding ElementName=HelpAdControl, Path=HelpDescription}"
TextBlock.FontFamily="Verdana" TextBlock.FontSize="10" Foreground="#FF444444"
VerticalAlignment="Center" />
<TextBlock Name="lblHelpLink" VerticalAlignment="Center" Margin="5 0 0 0">
<Hyperlink Name="lnkHelpLink"
TextBlock.FontFamily="Verdana" TextBlock.FontSize="10" Foreground="#FF255BC8"
Click="lnkHelpLink_Click" NavigateUri="{Binding ElementName=HelpAdControl, Path=HelpKey}">
<TextBlock Text="{Binding ElementName=HelpAdControl, Path=HelpLinkDescription}" />
</Hyperlink>
</TextBlock>
<TextBlock Name="lblNextHelp"
Margin="5 0 0 0" Width="16" VerticalAlignment="Center" HorizontalAlignment="Right" ToolTip="Next Help Tip"
TextBlock.FontFamily="Verdana" TextBlock.FontSize="10">
<Hyperlink Name="lnkNextHelp" Click="lnkNextHelp_Click" NavigateUri="www.mock.com">
»
</Hyperlink>
</TextBlock>
</StackPanel>
</Grid>
另一个注意事项:当鼠标悬停在链接组件上时,鼠标光标不会更改。在我看来,事件没有被发送到WPF控件。
任何想法都可能导致这个问题?
答案 0 :(得分:2)
这让我想起了我前段时间与winforms&lt;&gt; wpf interop相关的非常奇怪的问题。 请看看这是否可以帮到你:
WPF WinForms Interop issue with Enable / Disable
祝你好运!