1

我已将 WPF 用户控件添加到 WinForms 窗体,但我无法在我的 WPF 控件上接收事件。

我尝试订阅 MouseEnter 事件,但从未调用事件处理程序方法。我正在使用 Visual Studio(2010 速成版)设计器添加 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 控件。

任何想法都可能导致这个问题?

4

0 回答 0