我有一个应用程序需要在WPF画布上绘制不同的图形对象。我可以添加Line,Rectangle等。现在,我需要在画布上添加一个windows用户控件。我不能这样做。我可以知道我们是否真的可以做到这一点。 通过论坛,我知道WindowsHostControl允许使用Windows控件,但我找不到任何特定的东西,比如在Canvas上绘制它。 请分享一下如何做到这一点。
答案 0 :(得分:1)
WindowsFormsHost可以像任何其他UIElement一样添加到Canvas中。这样做:
<Window x:Class="FormsHost.MainWindow"
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"
Title="MainWindow" Height="350" Width="525">
<Canvas>
<WindowsFormsHost Canvas.Left="100" Canvas.Top="50">
<wf:MaskedTextBox x:Name="mtbDate" Mask="00/00/0000"/>
</WindowsFormsHost>
</Canvas>
</Window>