Я создал Wpf UserControl и размещаю его в WinForm.Невозможно заполнить пространство с помощью элемента управления WPF в WinForm
<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 заполняется. Однако элемент управления WPF не заполняет весь WinForm и всегда отображает размер, заданный и отображаемый в Designer.
Я удалил высоту и ширину и от холста и от MediaElement, что холст содержит, но это не имеет никакого эффекта ...
Я был бы признателен, если кто-то может указать на то, что я здесь делаю неправильно - я новичок в WPF.
http://stackoverflow.com/questions/19393774/how-to-make-all-controls-resize-accordingly-proportionally-when-window-is-maximi –
Я не уверен, что вы предлагаете сделать, указав на этот код - у меня есть конкретная проблема и я не понимаю, что я делаю неправильно ... по сравнению с вашим кодом не совсем яблоки для яблок: немного другая проблема , не так ли? –