İzlenecek yol: WPF'te ActiveX Denetimi Barındırma
Tarayıcılarla geliştirilmiş etkileşimi etkinleştirmek için WPF tabanlı uygulamanızda Microsoft ActiveX denetimlerini kullanabilirsiniz. Bu izlenecek yol, Microsoft Windows Medya Oynatıcı bir WPF sayfasında denetim olarak nasıl barındırabileceğinizi gösterir.
Bu kılavuzda gösterilen görevler şunlardır:
Projeyi oluşturma.
ActiveX denetimi oluşturuluyor.
ActiveX denetimini WPF Sayfasında barındırma.
Bu kılavuzu tamamladığınızda WPF tabanlı uygulamanızda Microsoft ActiveX denetimlerinin nasıl kullanılacağını anlayacaksınız.
Ön koşullar
Bu izlenecek yolu tamamlamak için aşağıdaki bileşenlere ihtiyacınız vardır:
Microsoft Windows Medya Oynatıcı, Visual Studio'nın yüklü olduğu bilgisayarda yüklüdür.
Visual Studio 2010.
Projeyi Oluşturma
Projeyi oluşturmak ve ayarlamak için
adlı
HostingAxInWpf
bir WPF Uygulaması projesi oluşturun.Çözüme bir Windows Forms Denetim Kitaplığı projesi ekleyin ve projeyi
WmpAxLib
olarak adlandırın.WmpAxLib projesinde, wmp.dll adlı Windows Medya Oynatıcı derlemesine bir başvuru ekleyin.
Araç Kutusu'nu açın.
Araç Kutusu'na sağ tıklayın ve ardından Öğeleri Seç'e tıklayın.
COM Bileşenleri sekmesine tıklayın, Windows Medya Oynatıcı denetimini seçin ve ardından Tamam'a tıklayın.
Windows Medya Oynatıcı denetimi Araç Kutusu'na eklenir.
Çözüm Gezgini'de UserControl1 dosyasına sağ tıklayın ve ardından Yeniden Adlandır'a tıklayın.
Dile bağlı olarak adı
WmpAxControl.vb
veyaWmpAxControl.cs
olarak değiştirin.Tüm başvuruları yeniden adlandırmanız istenirse Evet'e tıklayın.
ActiveX Denetimi Oluşturma
Denetim bir AxHost tasarım yüzeyine eklendiğinde Visual Studio, Microsoft ActiveX denetimi için otomatik olarak bir sarmalayıcı sınıfı oluşturur. Aşağıdaki yordam AxInterop.WMPLib.dll adlı bir yönetilen derleme oluşturur.
ActiveX denetimini oluşturmak için
Windows Forms Tasarım Aracı WmpAxControl.vb veya WmpAxControl.cs dosyasını açın.
Araç Kutusu'ndan Windows Medya Oynatıcı denetimini tasarım yüzeyine ekleyin.
Özellikler penceresi, Windows Medya Oynatıcı denetiminin Dock özelliğinin değerini olarak Fillayarlayın.
WmpAxLib denetim kitaplığı projesini oluşturun.
ActiveX Denetimini WPF Sayfasında Barındırma
ActiveX denetimini barındırmak için
HostingAxInWpf projesinde, oluşturulan ActiveX birlikte çalışabilirlik derlemesine bir başvuru ekleyin.
Bu derleme AxInterop.WMPLib.dll olarak adlandırılır ve Windows Medya Oynatıcı denetimini içeri aktardığınızda WmpAxLib projesinin Debug klasörüne eklendi.
WindowsFormsIntegration.dll adlı WindowsFormsIntegration derlemesine bir başvuru ekleyin.
System.Windows.Forms.dll adlı Windows Forms derlemesine bir başvuru ekleyin.
WPF Tasarım Aracı MainWindow.xaml dosyasını açın.
öğesini
grid1
adlandırınGrid.<Grid Name="grid1"> </Grid>
Tasarım görünümünde veya XAML görünümünde öğesini seçin Window .
Özellikler penceresi Olaylar sekmesine tıklayın.
Olaya çift tıklayın Loaded .
Olayı işlemek Loaded için aşağıdaki kodu ekleyin.
Bu kod denetimin bir örneğini WindowsFormsHost oluşturur ve denetimin bir örneğini
AxWindowsMediaPlayer
alt öğesi olarak ekler.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. WmpAxLib.AxWindowsMediaPlayer axWmp = new WmpAxLib.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"; }
Private Sub Window_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs) ' Create the interop host control. Dim host As New System.Windows.Forms.Integration.WindowsFormsHost() ' Create the ActiveX control. Dim axWmp As 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. Me.grid1.Children.Add(host) ' Play a .wav file with the ActiveX control. axWmp.URL = "C:\Windows\Media\tada.wav" End Sub
Uygulamayı derlemek ve çalıştırmak için F5 tuşuna basın.
Ayrıca bkz.
.NET Desktop feedback