我们如何在WPF应用程序中添加COM控件?

时间:2012-03-02 10:34:51

标签: c# wpf wpf-controls

我在WPF应用程序中添加了对COM组件的引用。但是,当我试图将该控件添加到工具箱时,它没有被正确列出。如何在WPF应用程序中使用COM控件?

2 个答案:

答案 0 :(得分:1)

我认为你的意思是一个ActiveX控件,因为COM不必具有可视方面。以下是Microsoft MSDN演练的链接。

Walkthrough: Hosting an ActiveX Control in WPF

他们的例子是使用Windows.Forms集成。

private void Window_Loaded(object sender, RoutedEventArgs e) 
{
   // Create the interop host control.
   System.Windows.Forms.Integration.WindowsFormsHost host =
        new System.Windows.Forms.Integration.WindowsFormsHost();

   // Create the ActiveX control.
   AxWMPLib.AxWindowsMediaPlayer axWmp = new AxWMPLib.AxWindowsMediaPlayer();

   // Assign the ActiveX control as the host control's child.
   host.Child = axWmp;

   // Add the interop host control to the Grid
   // control's collection of child controls.
   this.grid1.Children.Add(host);

   // Play a .wav file with the ActiveX control.
   axWmp.URL = @"C:\Windows\Media\tada.wav";
}

答案 1 :(得分:1)

使用 WindowsFormsHost 将WP控件添加到WPF很简单。 但是,使用WindowsFormsHost的问题是它不允许设置ZIndex,它将始终显示在页面顶部。