2016-08-16 3 views
1

Я новичок в xamarin.i пытается создать Accordian контроля в Xamarin forms.i создал also.in, который на стартовом уровне я поставил только кнопку и маркировать как этоXamarin дизайн экрана из кода за

enter image description here

для демо purpose.this это я переплетены с кодом behind.like этого

var vViewLayout1 = new StackLayout() 
     { 
      Children = { 
       new Label { Text = "Regular Board Meeting",HorizontalOptions=LayoutOptions.Center }, 

       new StackLayout 
       { 
        Spacing = 5, 
        Orientation = StackOrientation.Horizontal, 
        VerticalOptions= LayoutOptions.Center, 
        HorizontalOptions= LayoutOptions.End, 

         Children = 
         { 
          new Image { Source = "Chat.png"}, 
          new Button { Text ="Reject",BackgroundColor = Color.Red,TextColor = Color.White}, 
          new Button { Text ="Approve",BackgroundColor = Color.Green,TextColor = Color.White} 
         } 
       }, 
       //new Label { Text = "Name : S Ravi Kumar" }, 
       //new Label { Text = "Roles : Father,Trainer,Consultant,Architect" } 
      } 
     }; 
var vFirstAccord = new AccordionSource() 
     { 
      HeaderText = "ReportToBoardJune 1,2016", 
      HeaderTextColor = Color.White, 
      HeaderBackGroundColor = Color.Red, 
      ContentItems = vViewLayout1 
     }; 

return vResult; 

, но я хочу, чтобы отобразить данные, такие как это enter image description here

так, как я могу создать это из кода позади. И который я должен использовать для коробки, которую я украсил красным стрелком.boxview или любым другим, доступным в xamarine, как таблица или что-то еще.

Я только что начал xamarin.so, я не имею никакого представления о его контроле. Любое предложение или помощь apriciated.thanks заранее.

+1

Я думаю, a [Grid] (https://developer.xamarin.com/api/type/Xamarin.Forms.Grid/) соответствует вашим потребностям в выделенном поле. Вы можете настроить сетку 3x3 с ячейками с четным размером и добавить свои метки там, где им нужно идти. Этот документ API содержит пример использования Grid из кода позади. – dylansturg

+0

да .. я использовал. grid.but, как сделать границу вокруг нее из кода? –

+0

i can not find border свойство grid –

ответ

1

На основе комментариев вы собираетесь использовать сетку, и теперь ваш вопрос по существу. Как я могу сделать границу вокруг сетки в коде за файлом?

Не существует специального свойства границы для сетки, как вы обнаружили. Что я сделал несколько раз, это создать простую сетку 3х3 и поставил 4 boxviews по краям:

BoxView border() 
{ 
    BoxView res = new BoxView 
    { 
     Color = Color.Black, 
     HeightRequest = 4, 
     WidthRequest = 4 
    } 
    return res; 
} 

Grid gridWithBorder = new Grid 
{ 
    RowDefinitions = 
     { 
      new RowDefinition { Height = GridLength.Auto}, 
      new RowDefinition { Height = GridLength.Auto}, 
      new RowDefinition { Height = GridLength.Auto} 
     }, 
    ColumnDefinitions = 
     { 
      new ColumnDefinition { Width = GridLength.Auto }, 
      new ColumnDefinition { Width = GridLength.Auto }, 
      new ColumnDefinition { Width = GridLength.Auto } 
     } 
}; 

gridWithBorder.Children.Add(border(), 0, 3, 0, 1); //add top border 
gridWithBorder.Children.Add(border(), 0, 1, 0, 3); // left border 
gridWithBorder.Children.Add(border(), 0, 3, 2, 3); // bottom border 
gridWithBorder.Children.Add(border(), 2, 3, 0, 3); // right 

После этого я затем добавить остальную часть макета к строке 1 колонка 1

+0

soory я не понимаю вашу статью. Вы можете кратко рассказать. –

+0

Должен ли я взять 2 дополнительных rowdefination и columndefination в моей структуре сетки, и я должен поставить boxview? –

+0

@NeelamPrajapati Да, два дополнительных столбца и строки, созданные в полевых условиях, попадают в поле зрения. В строках «gridWithBorder.Children.Add» указывается, какой вид вы добавляете, какой столбец, строка и сколько столбцов или строк оно охватывает. –