2017-03-02 141 views
0

Actual screenshot of the problem
見附件形象在這裏,我對任何人都點擊了,他們告訴我網頁視圖時,網格4個按鍵,但由於某些原因,我擴展網絡視圖無法展開網頁視圖,以便覆蓋屏幕的其餘部分。正如你在圖片中看到的,webview是在一個列中,而按鈕是在一行中。我真的很感激幫助。謝謝。C#xamarin無法使用xamarin跨平臺項目

using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 
    using System.Threading.Tasks; 

    using Xamarin.Forms; 

    namespace LocalDataAccess 
    { 
     public partial class RecipeSites : ContentPage 
     { 
      public RecipeSites() 
      { 
       this.Content = gridlayout(); 
      } 

      public Grid gridlayout() 
      { 
       BackgroundColor = Color.White; 

       Button allrecipes = new Button 
       { 
         BackgroundColor = Color.Transparent, 
       }; 
       allrecipes.Clicked += new EventHandler(allrecipes_Click); 
       allrecipes.Image = "alrecipe.png"; 

       Button delia = new Button 
       { 
        BackgroundColor = Color.Transparent, 

       }; 
       delia.Clicked += new EventHandler(delia_Click); 
       delia.Image = "delia.gif"; 

       Button bbc = new Button 
       { 
        BackgroundColor = Color.Transparent, 
       }; 
       bbc.Clicked += new EventHandler(bbc_Click); 
       bbc.Image = "bbc.jpg"; 

       Button food = new Button 
       { 
        BackgroundColor = Color.Transparent, 
       }; 
       food.Clicked += new EventHandler(food_Click); 
       food.Image = "food.jpg"; 

       var grid = new Grid(); 
       RowDefinition gridRow1 = new RowDefinition(); 

       gridRow1.Height = new GridLength(7, GridUnitType.Star); 
       grid.RowDefinitions.Add(gridRow1); 
       grid.Children.Add(allrecipes, 0, 1); 
       grid.Children.Add(delia, 1, 1); 
       grid.Children.Add(bbc, 2, 1); 
       grid.Children.Add(food, 3, 1); 
       return grid; 
      } 

      public void food_Click(object sender, EventArgs e) 
      { 
       Grid sl = gridlayout(); 

       WebView webView = new WebView 
       { 
        Source = new UrlWebViewSource 
        { 
         Url = " http://www.food.com/", 
        }, 
        VerticalOptions = LayoutOptions.FillAndExpand, 

       }; 
       var grid1 = new Grid() 
       { VerticalOptions = LayoutOptions.FillAndExpand }; 
       ColumnDefinition c2 = new ColumnDefinition(); 
       c2.Width = new GridLength(10, GridUnitType.Star); 
       grid1.ColumnDefinitions.Add(c2); 
       grid1.Children.Add(webView, 3,1); 
       this.Content = sl; 
      } 

      public void allrecipes_Click(object sender, EventArgs e) 
      { 
       Grid sl = gridlayout(); 

       WebView webView = new WebView 
       { 
        Source = new UrlWebViewSource 
        { 
         Url = "http://allrecipes.co.uk/", 
        }, 
        HorizontalOptions = LayoutOptions.FillAndExpand 

       }; 

       sl.Children.Add(webView); 
       this.Content = sl; 
    } 

    public void delia_Click(object sender, EventArgs e) 
    { 
      Grid sl = gridlayout(); 

      WebView webView = new WebView 
     { 
      Source = new UrlWebViewSource 
      { 
       Url = "http://www.deliaonline.com/recipes", 
      }, 
      VerticalOptions = LayoutOptions.FillAndExpand 
     }; 
     sl.Children.Add(webView); 
     this.Content = sl; 
    } 

    public void bbc_Click(object sender, EventArgs e) 
    { 
      Grid sl = gridlayout(); 

      WebView webView = new WebView 
     { 
      Source = new UrlWebViewSource 
      { 
       Url = "http://www.bbc.co.uk/food/recipes/", 
      }, 
      VerticalOptions = LayoutOptions.FillAndExpand 
     }; 
     sl.Children.Add(webView); 
     this.Content = sl; 
    } 

    } 
    } 

回答

0

你需要,如果你想控制跨越多個行或列

// add button to col 0 row 4 
controlGrid.Children.Add (zeroButton, 0, 4); 
// make the button span 2 columns 
Grid.SetColumnSpan (zeroButton, 2); 
+0

去不起作用設定的跨度值? –

+0

你能否更新你的問題以顯示修改後的代碼? – Jason

+0

它現在在工作,感謝您的幫助。 –