Load Dynamic XAML : XAML « Data « Silverlight






Load Dynamic XAML

Load Dynamic XAML
   
<UserControl x:Class='SilverlightApplication3.MainPage'
    xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' 
    xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
    xmlns:d='http://schemas.microsoft.com/expression/blend/2008' 
    xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006' 
    mc:Ignorable='d' 
    d:DesignWidth='640' 
    d:DesignHeight='480'
    Loaded="UserControl_Loaded">

    <Grid x:Name="LayoutRoot" 
          Background="White" 
          ShowGridLines="True">

        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>

        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>

        <Button x:Name="btnOK" 
                Content="OK"
                Grid.Column="0"
                Grid.Row="0" />

        <Canvas x:Name="dynamicXamlPlaceholder"
                Grid.Column="1"
                Grid.Row="0" />

        <TextBox Text="The Text"
                 Grid.Column="1"
                 Grid.Row="1" 
                 Height="20"
                 Width="200"/>
    </Grid>

</UserControl>


//File: Page.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Markup;

namespace SilverlightApplication3
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            this.AddDynamicXaml();
        }

        private void AddDynamicXaml()
        {
            string xaml = "<Button xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' " + " Content='Test' />";

            object rootNode = XamlReader.Load(xaml);

            Canvas canvas = (Canvas)this.FindName("dynamicXamlPlaceholder");
            canvas.Children.Add((UIElement)rootNode);
        }
    }
}

   
    
    
  








Related examples in the same category

1.Understanding the Structure of a SilverlightUnderstanding the Structure of a Silverlight
2.Dynamically Loading XAML from Managed CodeDynamically Loading XAML from Managed Code
3.Using XAML BrushesUsing XAML Brushes
4.Xaml and Code behind
5.A Minimal XAML Document
6.Inner element with xml namespaceInner element with xml namespace
7.Specify a brush with the expanded XAML syntaxSpecify a brush with the expanded XAML syntax
8.A basic XAML file referencing two namespacesA basic XAML file referencing two namespaces
9.The XAML for a basic EllipseThe XAML for a basic Ellipse
10.The XAML for animating a double-precision floating-point number
11.XAML for animating pair of x-and-y coordinatesXAML for animating pair of x-and-y coordinates
12.XAML for shifting between colorsXAML for shifting between colors
13.Loading some XAML at runtimeLoading some XAML at runtime
14.Loading XAML with nested elements at runtimeLoading XAML with nested elements at runtime
15.The XAML for the progress bar. The figure shown is simply for illustration.The XAML for the progress bar. The figure shown is simply for illustration.