2012-03-06 2 views
0

Я хочу показать элемент управления WPF поверх элемента управления Winform. Я хочу, чтобы кнопка WPF появлялась сверху в текстовом поле Winform.Не удается увидеть элемент управления WPF сверху Управление Winform

В результате элемент управления WPF скрыт в задней части текстового поля winform и я не вижу его. Почему?

Это мой код:

<UserControl x:Class="Philips.PmsCT.Host.Applications.ExamApplication.ScanRulerComponent.WPFHostWF" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" Width="800" Height="120"> 
<Grid> 
    <WindowsFormsHost > 
     <wf:TextBox BackColor="LightBlue" /> 
    </WindowsFormsHost> 
    <Button Width="100" Height="25" Background="Red"/> 
</Grid> 

+0

Этот код показывает форму Windows внутри элемента управления WPF, который не соответствует вашему вопросу. Где родительская форма Windows? – ChrisF

+0

@ChrisF Я предполагаю, что он хочет кнопку WPF поверх TextBox. Таким образом, либо у него проблемы с wpf, работающим с winforms, либо с простой проблемой компоновки. – dowhilefor

+0

Привет, ChrisF, я постараюсь ответить на вопрос, хочу, чтобы кнопка WPF отображалась поверх текстового поля Winform. – EitanG

ответ

3

Вы, кажется, имеют Airspace проблему. Итак, вы можете переставить два элемента управления, чтобы они были размещены рядом друг с другом, а не друг над другом или использовать Wpf TextBox, или вам нужно действительно наклониться назад, чтобы все вместе устранить проблему воздушного пространства.

+0

.NET 4.5 адрес проблема воздушного пространства: http://msdn.microsoft .com/en-us/library/bb613588 (v = VS.110) .aspx # airspace –

+0

Макет, который я хочу, это кнопка WPF поверх текстового поля winform. – EitanG

+0

@ m-y Да, важно добавить эту информацию, к сожалению, в вопросе отсутствует используемая версия WPF. – dowhilefor

0

Все элементы управления WPF отображаются в одном собственном окне. Вы можете проверить это через SPY ++, например. Почти каждый WindowsForm Control отображает в нем собственное окно. Опять же, вы можете проверить это через SPY ++. Вы хотите создать поведение, когда одно окно A (WPF) покрывается другим окном B (управление Winform). В то же время вы хотите, чтобы окно B было закрыто кнопкой A (wpf). Я не знаю, можно ли это сделать без всякого крючка. Возможные решения: 1. Host WPF внутри панели WinForm, где TextBox. 2. Создайте форму WPF с помощью только необходимой кнопки и покажите ее по первой форме.

Смежные вопросы