我在WPF应用程序中添加了对COM组件的引用。但是,当我试图将该控件添加到工具箱时,它没有被正确列出。如何在WPF应用程序中使用COM控件?
答案 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,它将始终显示在页面顶部。