Wpf UserControl을 만들고 WinForm에서 호스팅하고 있습니다. 디자이너 파일에 나타낸 바와 같이WinForm에서 WPF 컨트롤로 전체 공간을 채울 수 없습니다.
<UserControl x:Class="Sapphire.WpfUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" Height="527" Width="992">
<Canvas x:Name="videoCanvas" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" >
<Label Canvas.ZIndex="2" Content="Label" Canvas.Left="165" Canvas.Top="50" Width="125" Foreground="#FFFFFEFF"/>
<MediaElement x:Name="videoElement" Canvas.ZIndex="1" Canvas.Left="10" Canvas.Top="10" />
</Canvas>
이 WPF 컨트롤은 HostElement를 통해 호스팅 :
//
// elementHost1
//
this.elementHost1.Dock = System.Windows.Forms.DockStyle.Fill;
this.elementHost1.Location = new System.Drawing.Point(0, 0);
this.elementHost1.Name = "elementHost1";
this.elementHost1.Size = new System.Drawing.Size(1130, 593);
this.elementHost1.TabIndex = 2;
this.elementHost1.Text = "elementHost1";
this.elementHost1.Child = this.wpfUserControl1;
는 그래서 모든 올바른 보인다. DockStyle이 Fill임을 알 수 있습니다. 그러나 WPF 컨트롤은 전체 WinForm을 채우지 않으며 디자이너에서 설정되고 표시되는 크기로 항상 표시됩니다.
내가 캔버스에 포함 된 캔버스에서와 MediaElement에에서 모두 높이와 너비를 제거하지만 아무런 영향을 미치지 않았다 ... 누군가가 내가 여기서 잘못하고있는 무슨을 지적 할 수있는 경우
내가 감사하겠습니다 - I WPF를 처음 사용합니다.
http://stackoverflow.com/questions/19393774/how-to-make-all-controls-resize-accordingly-proportionally-when-window-is-maximi –
그 코드를 가리키면 무엇을 제안했는지 확신 할 수 없습니다 - 특정 문제가 있으며 내가 뭘 잘못하고 있는지 이해하지 못합니다 ... 코드와 비교하는 것이 정확히 사과 - 사과가 아닙니다 : 조금 다른 문제 안 그래? –