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の両方から高さと幅を削除しますが、それは何の効果も持っていなかった - 私はWPFの新機能です。あなたが含むElementHost
コントロールに含まれる要素の大きさとなるよう<UserControl>
のWidth
とHeight
を削除する必要が
http://stackoverflow.com/questions/19393774/how-to-make-all-controls-resize-accordingly-proportionally-when-window-is-maximi –
私はあなたがそのコードを指すことによって何をすることを示唆しているのか分かりません - 私は特定の問題があり、私が間違っていることを理解していません...あなたのコードと比較するのは正確にリンゴとリンゴではありません: 、 ではない? –