none
WP7的页面不加载XAML? RRS feed

答案

  • 可以在Page的构造函数里清除原XAML中的内容,然后用代码添加UI元素。

    示例代码:

     

    // Constructor
    public MainPage()
    {
    	InitializeComponent();
    	
    	// 清除原来的子元素
    	LayoutRoot.Children.Clear();
    	
    	// 重建两行
    	RowDefinitionCollection rdc = LayoutRoot.RowDefinitions;
    	rdc.Clear();
    	rdc.Add(new RowDefinition(){ Height = new GridLength(100) });
    	rdc.Add(new RowDefinition() { Height = new GridLength() });
    
    	// 重建两列
    	ColumnDefinitionCollection cdc = LayoutRoot.ColumnDefinitions;
    	cdc.Clear();
    	cdc.Add(new ColumnDefinition() { Width = new GridLength(240) });
    	cdc.Add(new ColumnDefinition() { Width = new GridLength(240) });
    
    	// 下面代码用来添加四个按钮分别到Grid的四个格子里
    	Button btn1 = new Button() { Content = "0,0" };
    	Grid.SetColumn(btn1, 0);
    	Grid.SetRow(btn1, 0);
    	LayoutRoot.Children.Add(btn1);
    
    	Button btn2 = new Button() { Content = "1,0" };
    	Grid.SetColumn(btn2, 0);
    	Grid.SetRow(btn2, 1);
    	LayoutRoot.Children.Add(btn2);
    
    	Button btn3 = new Button() { Content = "1,0" };
    	Grid.SetColumn(btn3, 1);
    	Grid.SetRow(btn3, 0);
    	LayoutRoot.Children.Add(btn3);
    
    	Button btn4 = new Button() { Content = "1,1" };
    	Grid.SetColumn(btn4, 1);
    	Grid.SetRow(btn4, 1);
    	LayoutRoot.Children.Add(btn4);
    }


     


    2012年1月15日 5:37

全部回复

  • 有没有办法,加载Page的时候,不去加载解析XAML,手动写代码实现页面的UI?


    XAML肯定会加载的,手动代码实现UI也是可以有的
    不以物喜,不以己悲
    2012年1月13日 2:49
  • 可以在Page的构造函数里清除原XAML中的内容,然后用代码添加UI元素。

    示例代码:

     

    // Constructor
    public MainPage()
    {
    	InitializeComponent();
    	
    	// 清除原来的子元素
    	LayoutRoot.Children.Clear();
    	
    	// 重建两行
    	RowDefinitionCollection rdc = LayoutRoot.RowDefinitions;
    	rdc.Clear();
    	rdc.Add(new RowDefinition(){ Height = new GridLength(100) });
    	rdc.Add(new RowDefinition() { Height = new GridLength() });
    
    	// 重建两列
    	ColumnDefinitionCollection cdc = LayoutRoot.ColumnDefinitions;
    	cdc.Clear();
    	cdc.Add(new ColumnDefinition() { Width = new GridLength(240) });
    	cdc.Add(new ColumnDefinition() { Width = new GridLength(240) });
    
    	// 下面代码用来添加四个按钮分别到Grid的四个格子里
    	Button btn1 = new Button() { Content = "0,0" };
    	Grid.SetColumn(btn1, 0);
    	Grid.SetRow(btn1, 0);
    	LayoutRoot.Children.Add(btn1);
    
    	Button btn2 = new Button() { Content = "1,0" };
    	Grid.SetColumn(btn2, 0);
    	Grid.SetRow(btn2, 1);
    	LayoutRoot.Children.Add(btn2);
    
    	Button btn3 = new Button() { Content = "1,0" };
    	Grid.SetColumn(btn3, 1);
    	Grid.SetRow(btn3, 0);
    	LayoutRoot.Children.Add(btn3);
    
    	Button btn4 = new Button() { Content = "1,1" };
    	Grid.SetColumn(btn4, 1);
    	Grid.SetRow(btn4, 1);
    	LayoutRoot.Children.Add(btn4);
    }


     


    2012年1月15日 5:37