在WPf Canvas上绘制Windows用户控件

时间:2012-01-12 13:44:57

标签: wpf user-controls wpf-controls

我有一个应用程序需要在WPF画布上绘制不同的图形对象。我可以添加Line,Rectangle等。现在,我需要在画布上添加一个windows用户控件。我不能这样做。我可以知道我们是否真的可以做到这一点。 通过论坛,我知道WindowsHostControl允许使用Windows控件,但我找不到任何特定的东西,比如在Canvas上绘制它。 请分享一下如何做到这一点。

1 个答案:

答案 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>