1.引用dll==>AxInterop.DSOFramer.dll
==>Interop.DSOFramer.dll
==>WindowsFormsIntegration
==>System.Windows.Forms
2.设置嵌入互操作类型为False
引用-->引用的dll(AxInterop.DSOFramer.dll,Interop.DSOFramer.dll)-->属性-->找到嵌入互操作类型选成False
3.设置项目生成平台x86(不然会报错)
4.xaml代码:
<Grid> <Grid.RowDefinitions> <RowDefinition Height="30"/> <RowDefinition/> </Grid.RowDefinitions> <Button Height="30" Width="80" x:Name="btn_Open" Click="btn_Open_Click"/> <WindowsFormsHost Grid.Row="1" x:Name="wfHost" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <dsoFramer:AxFramerControl x:Name="Framer" /> </WindowsFormsHost> </Grid>
cs代码
设置属性: Framer.Menubar = false;// Framer.Titlebar = false;// 隐藏列头 Framer.Toolbars = false;// 隐藏工具栏 设置打开方法: private void SetDocment(string filePath) { Framer.FrameHookPolicy = dsoFrameHookPolicy.dsoSetOnFirstOpen; if (String.IsNullOrEmpty(filePath)) return; try { Framer.Select(); Framer.Open(filePath); } catch (Exception) { MessageBox.Show("打开失败"); } this.Dispatcher.BeginInvoke(DispatcherPriority.Background, (DispatcherOperationCallback)delegate(object o) { if (Framer != null) { Framer.Activate(); } return null; }, null); Framer.Activate(); } private void btn_Open_Click(object sender, RoutedEventArgs e) { SetDocment(AppDomain.CurrentDomain.BaseDirectory + "2016-05-20估值表对账结果.xlsx"); }