use code to generate Silverlight Controls at run time, and serialize the control into XAML file

Sometimes you need to create some UI controls using C# code, in this case, you can:

Note: For serializing the UI element into a XAML file, you need to use the System.Windows.Markup.XamlWriter.Save() instead of the System.Xaml.XamlServices. For the WPF/Silverlight is not supported by the XamlServices.

UserControl form = new UserControl();

                Grid layoutRoot = new Grid();

                form.Content = layoutRoot;

                StackPanel rootStack = new StackPanel() { HorizontalAlignment = System.Windows.HorizontalAlignment.Left, VerticalAlignment = System.Windows.VerticalAlignment.Top, Width = 700, Height = 1000 };

                layoutRoot.Children.Add(rootStack);

                foreach (Field f in Def.AllForms[0].AllFields)

                {

                    StackPanel curField = new StackPanel

                    {

                        Orientation = Orientation.Horizontal,

                        HorizontalAlignment = System.Windows.HorizontalAlignment.Left,

                        Width = 500,

                        Height = 20,

                        Children = { new TextBlock() { Text = f.Name, Width = 110, Margin = new System.Windows.Thickness(5, 0, 5, 0) }, new TextBox() { Width = 220 } },

                        Margin = new System.Windows.Thickness(20,5,0,5)

                    };

                    rootStack.Children.Add(curField);

                }

                System.Windows.Markup.XamlWriter.Save(form, new StreamWriter(@"D:/FormDef1.xaml"));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值