XamlReader动态使用xaml

xamlload先在xaml做出一个grid,命名xgrid

<Page
    x:Class="xamlload.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:xamlload"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid x:Name="xgrid" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Click="button_Click"/>
    </Grid>
</Page>

用和前面写
<Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Click="button_Click"/>但是位置不一样的按钮

        private void button_Click(object sender , RoutedEventArgs e)
        {
            string usingXaml = " xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\" ";            
            string contentXaml = "<Button Content=\"Button\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\"";
            string marginXaml= "Margin=\"10,50,0,0\"/>";
            Button b = XamlReader.Load(contentXaml+usingXaml + marginXaml) as Button;
            xgrid.Children.Add(b);
        }

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-10-17 09:42  lindexi  阅读(222)  评论(0编辑  收藏  举报