or
01.<t:RadGridView.Resources> 02. <DataTemplate DataType="{x:Type vm:AnalogParam}"> 03. edit template definition.... 04. </DataTemplate> 05. <DataTemplate DataType="{x:Type vm:DigitalParam}"> 06. edit template definition.... 07. </DataTemplate> 08. <DataTemplate DataType="{x:Type vm:DummyParam}"> 09. edit template definition.... 10. </DataTemplate> 11. 12. <DataTemplate DataType="{x:Type vm:AnalogParamDisplay}"> 13. display template definition.... 14. </DataTemplate> 15. <DataTemplate DataType="{x:Type vm:DigitalParamDisplay}"> 16. display template definition.... 17. </DataTemplate> 18. <DataTemplate DataType="{x:Type vm:DummyParamDisplay}"> 19. display template definition.... 20. </DataTemplate> 21. 22. <DataTemplate DataType="{x:Type bo:DigitalParamDesc}" > 23. header template definition.... 24. </DataTemplate> 25. <DataTemplate DataType="{x:Type no:AnalogParamDesc}"> 26. header template definition.... 27. </DataTemplate> 28.</t:RadGridView.Resources> 29.<t:RadGridView.Columns> 30. ..... 31. <t:GridViewDataColumn Header="{Binding Descriptors[4]}" IsReadOnly="False" IsFilterable="False"> 32. <t:GridViewColumn.CellTemplate> 33. <DataTemplate> 34. <ContentPresenter Content="{Binding Params[4].DisplayWrapper}" /> 35. </DataTemplate> 36. </t:GridViewColumn.CellTemplate> 37. <t:GridViewColumn.CellEditTemplate> 38. <DataTemplate> 39. <ContentPresenter Content="{Binding Params[4]}" /> 40. </DataTemplate> 41. </t:GridViewColumn.CellEditTemplate> 42. </t:GridViewDataColumn>Because the number of parameters in the grid is variable, I would like to add the columns programmatically instead of defining them in XAML.
How do I do that?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);
}
}
}