我已经尽力在Flipview中托管ActiveX控件,但无法达到预期的效果。我正在使用Windows 7和Flipview控件,如codeproject(http://www.codeproject.com/Articles/741026/WPF-FlipView)中所示。我实际上是在我的项目中嵌入了一个flash影片,并且在加载时应该加载新影片。
<UserControl x:Class="MTC.SIMVA.IC.Controls.WPFFlashControl"
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"
xmlns:fla="clr-namespace:AxShockwaveFlashObjects;assembly=AxInterop.ShockwaveFlashObjects"
mc:Ignorable="d" Loaded="UserControl_Loaded" >
<DockPanel Width="{Binding ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}">
<WindowsFormsHost x:Name="flashMovie">
<fla:AxShockwaveFlash x:Name="flashMovie2" />
</WindowsFormsHost>
</DockPanel>
</UserControl>
我还进行了自定义控制来包装AxShockwaveFlash控件。我的观点如下:
<dl:FlipView x:Name="flipView" ItemsSource="{Binding Flows}" SelectedIndex="0" SelectionChanged="flipView_SelectionChanged">
<dl:FlipView.DataContext>
<vm:SwipeWinViewModel />
</dl:FlipView.DataContext>
<dl:FlipView.ItemTemplate>
<DataTemplate>
<DockPanel x:Name="mainPanel" LastChildFill="True">
<DockPanel x:Name="topPanel" DockPanel.Dock="Top" HorizontalAlignment="Left" VerticalAlignment="Top" Background="#E4E4E4" Width="{Binding ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DockPanel}}}">
<DockPanel LastChildFill="True" Height="80">
<TextBlock Text="{Binding Name}" FontFamily="Segoe UI" VerticalAlignment="Center" Block.TextAlignment="Center" HorizontalAlignment="Center" TextWrapping="Wrap" FontWeight="Bold" FontSize="22" Margin="200,0,200,0" />
</DockPanel>
</DockPanel>
<DockPanel x:Name="animPanel" Background="LightBlue" Visibility="Collapsed" Width="{Binding ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DockPanel}}}">
<uc:WPFFlashControl x:Name="flashControl" MovieSource="{Binding Source}"/>
</DockPanel>
</DockPanel>
</DataTemplate>
</dl:FlipView.ItemTemplate>
</dl:FlipView>
显示一个窗口但未显示任何内容。但是,当我使用没有FlipView的自定义控件时它工作正常,所以我认为FlipView控件存在问题。是否可以在FlipView控件的datatemplate中使用这种自定义控件?