Aracılığıyla paylaş


İzlenecek yol: WPF'de 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 kılavuz, Microsoft Windows Media Player'ı 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.

Önkoşullar

Bu kılavuzu tamamlamak için aşağıdaki bileşenlere ihtiyacınız vardır:

  • Microsoft Windows Media Player, 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. HostingAxInWpfadlı bir 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.dlladlı Windows Media Player derlemesine bir başvuru ekleyin.

  4. Araç Kutusu'nuaçın.

  5. Araç Kutusu'na sağ tıklayınve ardından Öğeleri Seçseçeneğine tıklayın.

  6. COM Bileşenleri sekmesine tıklayın, Windows Media Player denetimini seçin ve ardından Tamam'a tıklayın.

    Windows Media Player denetimiAraç Kutusu'na eklenir.

  7. Çözüm Gezgini'nde 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 Evettıklayın.

ActiveX Denetimi Oluşturma

Denetim bir tasarım yüzeyine eklendiğinde Visual Studio, Microsoft ActiveX denetimi için otomatik olarak bir AxHost sarmalayıcı sınıfı oluşturur. Aşağıdaki yordam, AxInterop.WMPLib.dlladlı bir yönetilen derleme oluşturur.

ActiveX denetimini oluşturmak için

  1. Windows Forms Tasarımcısı'nda WmpAxControl.vb veya WmpAxControl.cs açın.

  2. Araç Kutusu'ndanWindows Media Player denetimini tasarım yüzeyine ekleyin.

  3. Özellikler penceresinde, Windows Media Player denetiminin Dock özelliğinin değerini Fillolarak ayarlayı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 Media Player denetimini içeri aktardığınızda WmpAxLib projesinin Debug klasörüne eklendi.

  2. WindowsFormsIntegration.dllolarak adlandırılan WindowsFormsIntegration derlemesine bir başvuru ekleyin.

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

  4. WPF Tasarımcısı'nda MainWindow.xaml dosyasını açın.

  5. Grid öğesini grid1adlandırın.

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

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

  8. Loaded etkinliğine çift tıklayın.

  9. Loaded olayını işlemek için aşağıdaki kodu ekleyin.

    Bu kod, WindowsFormsHost denetiminin bir örneğini oluşturur ve AxWindowsMediaPlayer denetiminin bir örneğini 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 bakınız