Мой WPF UserControl не получает входные данные при размещении в форме WinForm - PullRequest
1 голос
/ 30 июня 2011

Я добавил пользовательский элемент управления WPF в форму WinForms, но не могу получать события на своем элементе управления WPF.

Я пытался подписать событие MouseEnter, но метод обработчика событияникогда не звонил.Я добавляю элемент управления WPF с конструктором Visual Studio (выпуск 2010 Express).Я добавляю ElementHost и затем связываю свой элемент управления с хостом.

Вот снимок экрана с формой:

enter image description here

Элемент управления WPF - это справочное объявление ниже.ToolStrip.В конце элемента управления есть ссылка, которая при добавлении к элементу winform element не будет получать никаких входных событий.

Вот код 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.

Любая идея о том, что может быть причиной этой проблемы?

1 Ответ

2 голосов
/ 15 июля 2011

Это напоминает мне очень странную проблему, с которой я столкнулся некоторое время назад и связанную с winforms <> wpf interop. Посмотрите, может ли это вам помочь:

WPF WinForms Interop проблема с включением / отключением

И удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...