在WPF应用程序中嵌入Flash
好的,所以我很难在WPF应用程序中嵌入Flash动画。我尝试了很多事情,但只有一件对我有效在WPF应用程序中嵌入Flash,wpf,vb.net,flash,Wpf,Vb.net,Flash,好的,所以我很难在WPF应用程序中嵌入Flash动画。我尝试了很多事情,但只有一件对我有效 我找到了一个解决方案,所以我将在下面发布。我找到了解决方案,我遵循了本教程,将C#转换为VB: 但在最后,我最终只得到了30行代码来完成我一开始想要做的事情 以下是WinForm用户控件WFFlashPlayer.vb中的代码: Imports System.Windows.Forms Namespace FlashAxControls Partial Public Class WFFlashP
我找到了一个解决方案,所以我将在下面发布。我找到了解决方案,我遵循了本教程,将C#转换为VB: 但在最后,我最终只得到了30行代码来完成我一开始想要做的事情 以下是WinForm用户控件WFFlashPlayer.vb中的代码:
Imports System.Windows.Forms
Namespace FlashAxControls
Partial Public Class WFFlashPlayer
Inherits UserControl
Public Sub New()
InitializeComponent()
AxShockwaveFlash.Base = "#"
AxShockwaveFlash.Movie = "#"
End Sub
End Class
End Namespace
Namespace FlashAxControls
Partial Class WFFlashPlayer
''' <summary>
''' Required designer variable.
''' </summary>
Private components As System.ComponentModel.IContainer = Nothing
''' <summary>
''' Clean up any resources being used.
''' </summary>
''' <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
Protected Overrides Sub Dispose(disposing As Boolean)
If disposing AndAlso (components IsNot Nothing) Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
#Region "Component Designer generated code"
''' <summary>
''' Required method for Designer support - do not modify
''' the contents of this method with the code editor.
''' </summary>
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(WFFlashPlayer))
Me.AxShockwaveFlash = New AxShockwaveFlashObjects.AxShockwaveFlash()
CType(Me.AxShockwaveFlash, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'AxShockwaveFlash
'
Me.AxShockwaveFlash.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.AxShockwaveFlash.Enabled = True
Me.AxShockwaveFlash.Location = New System.Drawing.Point(0, 0)
Me.AxShockwaveFlash.Margin = New System.Windows.Forms.Padding(0)
Me.AxShockwaveFlash.Name = "AxShockwaveFlash"
Me.AxShockwaveFlash.OcxState = CType(resources.GetObject("AxShockwaveFlash.OcxState"), System.Windows.Forms.AxHost.State)
Me.AxShockwaveFlash.Size = New System.Drawing.Size(1125, 825)
Me.AxShockwaveFlash.TabIndex = 0
'
'WFFlashPlayer
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(239, Byte), Integer), CType(CType(239, Byte), Integer), CType(CType(242, Byte), Integer))
Me.Controls.Add(Me.SimpleButton1)
Me.Controls.Add(Me.AxShockwaveFlash)
Me.Name = "WFFlashPlayer"
Me.Size = New System.Drawing.Size(1125, 825)
CType(Me.AxShockwaveFlash, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
Private AxShockwaveFlash As AxShockwaveFlashObjects.AxShockwaveFlash
End Class
End Namespace
<UserControl x:Class="FlashAxControls.FlashPlayer"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300" Loaded="FlashPlayer_Loaded">
<Grid x:Name="FlashPlayerGrid">
</Grid>
</UserControl>
在这种情况下,wflashplayer.Designer.vb:
Imports System.Windows.Forms
Namespace FlashAxControls
Partial Public Class WFFlashPlayer
Inherits UserControl
Public Sub New()
InitializeComponent()
AxShockwaveFlash.Base = "#"
AxShockwaveFlash.Movie = "#"
End Sub
End Class
End Namespace
Namespace FlashAxControls
Partial Class WFFlashPlayer
''' <summary>
''' Required designer variable.
''' </summary>
Private components As System.ComponentModel.IContainer = Nothing
''' <summary>
''' Clean up any resources being used.
''' </summary>
''' <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
Protected Overrides Sub Dispose(disposing As Boolean)
If disposing AndAlso (components IsNot Nothing) Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
#Region "Component Designer generated code"
''' <summary>
''' Required method for Designer support - do not modify
''' the contents of this method with the code editor.
''' </summary>
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(WFFlashPlayer))
Me.AxShockwaveFlash = New AxShockwaveFlashObjects.AxShockwaveFlash()
CType(Me.AxShockwaveFlash, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'AxShockwaveFlash
'
Me.AxShockwaveFlash.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.AxShockwaveFlash.Enabled = True
Me.AxShockwaveFlash.Location = New System.Drawing.Point(0, 0)
Me.AxShockwaveFlash.Margin = New System.Windows.Forms.Padding(0)
Me.AxShockwaveFlash.Name = "AxShockwaveFlash"
Me.AxShockwaveFlash.OcxState = CType(resources.GetObject("AxShockwaveFlash.OcxState"), System.Windows.Forms.AxHost.State)
Me.AxShockwaveFlash.Size = New System.Drawing.Size(1125, 825)
Me.AxShockwaveFlash.TabIndex = 0
'
'WFFlashPlayer
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(239, Byte), Integer), CType(CType(239, Byte), Integer), CType(CType(242, Byte), Integer))
Me.Controls.Add(Me.SimpleButton1)
Me.Controls.Add(Me.AxShockwaveFlash)
Me.Name = "WFFlashPlayer"
Me.Size = New System.Drawing.Size(1125, 825)
CType(Me.AxShockwaveFlash, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
Private AxShockwaveFlash As AxShockwaveFlashObjects.AxShockwaveFlash
End Class
End Namespace
<UserControl x:Class="FlashAxControls.FlashPlayer"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300" Loaded="FlashPlayer_Loaded">
<Grid x:Name="FlashPlayerGrid">
</Grid>
</UserControl>
FlashPlayer.xaml:
Imports System.Windows.Forms
Namespace FlashAxControls
Partial Public Class WFFlashPlayer
Inherits UserControl
Public Sub New()
InitializeComponent()
AxShockwaveFlash.Base = "#"
AxShockwaveFlash.Movie = "#"
End Sub
End Class
End Namespace
Namespace FlashAxControls
Partial Class WFFlashPlayer
''' <summary>
''' Required designer variable.
''' </summary>
Private components As System.ComponentModel.IContainer = Nothing
''' <summary>
''' Clean up any resources being used.
''' </summary>
''' <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
Protected Overrides Sub Dispose(disposing As Boolean)
If disposing AndAlso (components IsNot Nothing) Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
#Region "Component Designer generated code"
''' <summary>
''' Required method for Designer support - do not modify
''' the contents of this method with the code editor.
''' </summary>
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(WFFlashPlayer))
Me.AxShockwaveFlash = New AxShockwaveFlashObjects.AxShockwaveFlash()
CType(Me.AxShockwaveFlash, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'AxShockwaveFlash
'
Me.AxShockwaveFlash.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.AxShockwaveFlash.Enabled = True
Me.AxShockwaveFlash.Location = New System.Drawing.Point(0, 0)
Me.AxShockwaveFlash.Margin = New System.Windows.Forms.Padding(0)
Me.AxShockwaveFlash.Name = "AxShockwaveFlash"
Me.AxShockwaveFlash.OcxState = CType(resources.GetObject("AxShockwaveFlash.OcxState"), System.Windows.Forms.AxHost.State)
Me.AxShockwaveFlash.Size = New System.Drawing.Size(1125, 825)
Me.AxShockwaveFlash.TabIndex = 0
'
'WFFlashPlayer
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(239, Byte), Integer), CType(CType(239, Byte), Integer), CType(CType(242, Byte), Integer))
Me.Controls.Add(Me.SimpleButton1)
Me.Controls.Add(Me.AxShockwaveFlash)
Me.Name = "WFFlashPlayer"
Me.Size = New System.Drawing.Size(1125, 825)
CType(Me.AxShockwaveFlash, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
Private AxShockwaveFlash As AxShockwaveFlashObjects.AxShockwaveFlash
End Class
End Namespace
<UserControl x:Class="FlashAxControls.FlashPlayer"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300" Loaded="FlashPlayer_Loaded">
<Grid x:Name="FlashPlayerGrid">
</Grid>
</UserControl>
最后,这里是我的WPF应用程序XAML代码(有点定制):
我希望这能帮助别人。你需要发布一个特定的问题,然后用特定的正确答案更容易解决。。尝试一些东西,然后在遇到问题时询问这里,并添加问题代码片段。例如,请看右侧的相关部分:实际上,我在复制此应用程序的方式上遇到了困难。。。我不知道什么工具可以帮助我做“所有”我想做的事情,因为我发现大多数项目都有限制,因为微软的许可证或其他东西。我已经试了三天了,我一直在挣扎。。。我知道最好说得具体一点,但事实上,我再具体不过了。我知道如何在WinForms中嵌入flash,问题是实现一个可定制的功能区。在WPF中正好相反,ribbon几乎实现了,但不能嵌入Flash。顺便说一句,我更喜欢使用WinForms。我终于设法在WPF中添加了Flash,所以我会看看是否可以继续在我的项目中使用它,我会回来获取更多信息。我将用这个特定问题的解决方案编辑我的第一篇文章:p