Aracılığıyla paylaş


İ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

  1. adlı HostingAxInWpfbir WPF Uygulaması projesi oluşturun.

  2. Çözüme bir Windows Forms Denetim Kitaplığı projesi ekleyin ve projeyi WmpAxLibolarak adlandırın.

  3. WmpAxLib projesinde, wmp.dll adlı Windows Medya Oynatıcı derlemesine bir başvuru ekleyin.

  4. Araç Kutusu'nu açın.

  5. Araç Kutusu'na sağ tıklayın ve ardından Öğeleri Seç'e tıklayın.

  6. 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.

  7. Çözüm Gezgini'de UserControl1 dosyasına sağ tıklayın ve ardından Yeniden Adlandır'a tıklayın.

  8. Dile bağlı olarak adı WmpAxControl.vb veya WmpAxControl.csolarak değiştirin.

  9. 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

  1. Windows Forms Tasarım Aracı WmpAxControl.vb veya WmpAxControl.cs dosyasını açın.

  2. Araç Kutusu'ndan Windows Medya Oynatıcı denetimini tasarım yüzeyine ekleyin.

  3. Özellikler penceresi, Windows Medya Oynatıcı denetiminin Dock özelliğinin değerini olarak Fillayarlayın.

  4. WmpAxLib denetim kitaplığı projesini oluşturun.

ActiveX Denetimini WPF Sayfasında Barındırma

ActiveX denetimini barındırmak için

  1. 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.

  2. WindowsFormsIntegration.dll adlı WindowsFormsIntegration derlemesine bir başvuru ekleyin.

  3. System.Windows.Forms.dll adlı Windows Forms derlemesine bir başvuru ekleyin.

  4. WPF Tasarım Aracı MainWindow.xaml dosyasını açın.

  5. öğesini grid1adlandırınGrid.

    <Grid Name="grid1">
        
    </Grid>
    
  6. Tasarım görünümünde veya XAML görünümünde öğesini seçin Window .

  7. Özellikler penceresi Olaylar sekmesine tıklayın.

  8. Olaya çift tıklayın Loaded .

  9. 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
    
  10. Uygulamayı derlemek ve çalıştırmak için F5 tuşuna basın.

Ayrıca bkz.