or
I would need to use activeX control to open swf files inside application. It works without problems when doesn´t use RadDocking. But when I use RadDocking, activeX control won´t display.
I tried to use another ActiveX cntrols and it doesn´t work always when using RadDocking. Does anybody know please how to solve it?
My sample code:
MainWindow.xaml
<
Window
xmlns:telerik
=
"clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls"
xmlns:telerikDocking
=
"clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Docking"
xmlns:telerikQuickStart
=
"clr-namespace:Telerik.Windows.Controls.QuickStart;assembly=Telerik.Windows.Controls"
x:Class
=
"TelerikDocking.MainWindow"
Title
=
"MainWindow"
Height
=
"350"
Width
=
"800"
>
<
Grid
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"*"
/>
</
Grid.RowDefinitions
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
Width
=
"*"
/>
<
ColumnDefinition
Width
=
"*"
/>
</
Grid.ColumnDefinitions
>
<
telerikDocking:RadDocking
Grid.Column
=
"1"
VerticalAlignment
=
"Stretch"
HorizontalAlignment
=
"Stretch"
telerikQuickStart:ThemeAwareBackgroundBehavior.IsEnabled
=
"True"
>
<
telerikDocking:RadDocking.DocumentHost
>
<
telerikDocking:RadPaneGroup
>
<
telerikDocking:RadDocumentPane
Header
=
"Preview"
x:Name
=
"pane_preview_"
Title
=
"Preview"
>
<
Border
x:Name
=
"telerik_border"
BorderBrush
=
"Black"
Background
=
"Transparent"
ClipToBounds
=
"True"
BorderThickness
=
"1.5"
/>
</
telerikDocking:RadDocumentPane
>
</
telerikDocking:RadPaneGroup
>
</
telerikDocking:RadDocking.DocumentHost
>
</
telerikDocking:RadDocking
>
<
Border
x:Name
=
"border"
Grid.Column
=
"0"
/>
</
Grid
>
</
Window
>
MainWindow.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Forms.Integration;
using System.IO;
namespace TelerikDocking
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
WindowsFormsHost host = new WindowsFormsHost();
FlashPlayer player = new FlashPlayer();
player.LoadMovie(Directory.GetCurrentDirectory() + "\\00.swf");
host.Child = player;
border.Child = host;
WindowsFormsHost host2 = new WindowsFormsHost();
FlashPlayer player2 = new FlashPlayer();
player.LoadMovie(Directory.GetCurrentDirectory() + "\\00.swf");
host.Child = player2;
telerik_border.Child = host2;
}
}
}
FlashPlayer.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace TelerikDocking
{
public partial class FlashPlayer : UserControl
{
public FlashPlayer()
{
InitializeComponent();
axShockwaveFlash1.Dock = DockStyle.Fill;
axShockwaveFlash1.IsAccessible = false;
axShockwaveFlash1.EmbedMovie = false;
axShockwaveFlash1.Playing = false;
}
public void LoadMovie(string strPath)
{
axShockwaveFlash1.LoadMovie(0, strPath);
}
}
}
<
Window
x:Class
=
"Grobplanung.Window1"
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
xmlns:telctrl
=
"clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls"
xmlns:telnav
=
"clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Navigation"
xmlns:telerikData
=
"clr-namespace:Telerik.Windows.Data;assembly=Telerik.Windows.Data"
Title
=
"Window1"
Height
=
"768"
Width
=
"1024"
Loaded
=
"Window_Loaded"
>
<
DockPanel
LastChildFill
=
"False"
>
<
telnav:RadToolBar
Height
=
"30"
Name
=
"radToolBar1"
DockPanel.Dock
=
"Top"
/>
<
telnav:RadMenu
Name
=
"radMenu1"
DockPanel.Dock
=
"Top"
>
<
telerik:RadMenuItem
Name
=
"mnuDatei"
Header
=
"Datei"
>
<
telerik:RadMenuItem
Name
=
"mnuBeenden"
Header
=
"Beenden"
>
</
telerik:RadMenuItem
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Name
=
"mnuBearbeiten"
Header
=
"Bearbeiten"
/>
<
telerik:RadMenuItem
Name
=
"mnuExtras"
Header
=
"Extras"
/>
<
telerik:RadMenuItem
Name
=
"mnuHilfe"
Header
=
"Hilfe"
/>
</
telnav:RadMenu
>
<
telerik:RadGridView
Name
=
"mainGV"
DockPanel.Dock
=
"Top"
AutoGenerateColumns
=
"False"
>
<
telerik:RadGridView.ChildTableDefinitions
>
<
telerik:GridViewTableDefinition
>
</
telerik:GridViewTableDefinition
>
</
telerik:RadGridView.ChildTableDefinitions
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding VorgangsNr}"
Header
=
"Auftrags-Nr."
/>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding KundenNr}"
Header
=
"Kunden-Nr."
/>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding Kundenname}"
Header
=
"Kundenname"
/>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding ArtikelNr}"
Header
=
"Artikel-Nr."
/>
</
telerik:RadGridView.Columns
>
<
telerik:RadGridView.HierarchyChildTemplate
>
<
DataTemplate
>
<
telerik:RadGridView
ItemsSource
=
"{Binding Details}"
Name
=
"childGrid"
ShowGroupPanel
=
"False"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding Artikelbezeichnung}"
Header
=
"Artikelbezeichnung"
/>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding Auftragsart}"
Header
=
"Auftragsart"
/>
</
telerik:RadGridView.Columns
>
</
telerik:RadGridView
>
</
DataTemplate
>
</
telerik:RadGridView.HierarchyChildTemplate
>
</
telerik:RadGridView
>
</
DockPanel
>
</
Window
>
class Auftragsdaten
class
Auftragsdaten : INotifyPropertyChanged
{
public
Auftragsdaten()
{
Details =
new
ObservableCollection<Details>();
}
public
ObservableCollection<Details> Details;
public
void
AddDetails(
string
pArtikelbezeichnung,
string
pAuftragsart)
{
Details.Add(
new
Details() { Artikelbezeichnung = pArtikelbezeichnung, Auftragsart = pAuftragsart });
}
...............
class Details
class
Details
{
public
string
Artikelbezeichnung;
public
string
Auftragsart;
}
public
partial
class
Window1 : Window
{
private
ObservableCollection<Auftragsdaten> _colDaten;
public
Window1()
{
InitializeComponent();
}
private
void
Window_Loaded(
object
sender, RoutedEventArgs e)
{
_colDaten =
new
ObservableCollection<Auftragsdaten>();
_colDaten.Add(
new
Auftragsdaten() { VorgangsNr = 1, ArtikelNr =
"47110"
, KundenNr =
"1000"
, Kundenname =
"Test"
});
_colDaten.Add(
new
Auftragsdaten() { VorgangsNr = 2, ArtikelNr =
"47110"
, KundenNr =
"1000"
, Kundenname =
"Test
"
});
_colDaten.Add(
new
Auftragsdaten() { VorgangsNr = 3, ArtikelNr =
"47113"
, KundenNr =
"2000"
, Kundenname =
"Test
"
});
_colDaten.Add(
new
Auftragsdaten() { VorgangsNr = 4, ArtikelNr =
"47114"
, KundenNr =
"2000"
, Kundenname =
"Test
"
});
_colDaten.Add(
new
Auftragsdaten() { VorgangsNr = 5, ArtikelNr =
"47115"
, KundenNr =
"3000"
, Kundenname =
"Test
"
});
_colDaten.Add(
new
Auftragsdaten() { VorgangsNr = 7, ArtikelNr =
"47115"
, KundenNr =
"3000"
, Kundenname =
"Test
"
});
_colDaten.Add(
new
Auftragsdaten() { VorgangsNr = 8, ArtikelNr =
"47115"
, KundenNr =
"3000"
, Kundenname =
"Test
"
});
_colDaten.Add(
new
Auftragsdaten() { VorgangsNr = 9, ArtikelNr =
"47115"
, KundenNr =
"4000"
, Kundenname =
"Test
"
});
_colDaten.Add(
new
Auftragsdaten() { VorgangsNr = 10, ArtikelNr =
"47115"
, KundenNr =
"4000"
, Kundenname =
"Test
"
});
_colDaten[0].AddDetails(
"Staubsauger 3744"
,
"Barverkauf"
);
_colDaten[0].AddDetails(
"Mixer 2231"
,
"Barverkauf"
);
_colDaten[0].AddDetails(
"Toaster 112"
,
"Barverkauf"
);
_colDaten[1].AddDetails(
"Staubsauger 3744"
,
"Barverkauf"
);
_colDaten[1].AddDetails(
"Mixer 2231"
,
"Barverkauf"
);
_colDaten[1].AddDetails(
"Toaster 112"
,
"Barverkauf"
);
this
.mainGV.ItemsSource = _colDaten;
}
}