개발로그

[Xamarine Form] 20/117 ~ 27/117

원스텝퍼더 2023. 6. 11. 14:49

20. Exercise : 연습

 

Section 3. Layouts

21. Introduce
22. Stack Layout in XAML
    - html 에서 <html> 테그를 담당하는 Xamarin의 ContentPage는 자식을 한개 밖에 받지 못함
    - 그러므로 여러개의 테그를 쓰고 싶을 때, StackLayout을 사용함.
    - StackLayout 은 html의 <ul>테그와 비슷하게 하위에 일정한 규칙을 적용하여 자식 테그를 가질 수 있음.
    - StackLayout은 VerticalOptions 혹은 HorizontalOptions를 주지 않을 때, 부모의 영역을 차지함.
    - VerticalOptions을 줬을 땐 height가 자식의 속성을 따라가고, 반대로 HorizontalOptions를 줬을 땐 width가 따라감.
    - 자식들은 StackLayout의 속성을 따르며, 자식안에 다른 컴포넌트를 넣고 싶다면, StackLayout안에 StackLayout을 줘야함.

23. StackLayout in Code
    - 대부분의 layout은 좀 더 간편하고 빠른 속도를 위해 XAML에 정의하는게 좋으나
    - 다른 방법이 없거나 동적으로 적용할 때는 C# 코드를 사용해야한다.
    - 보다보니 C#코드는 JAVA나 당연하게 C언어를 닮았지만, 화면을 제어한다는 점에서 자바스크립트와 비슷하다. 마치 document.getElementById("id1").css("height","100) 과 같이.

24. StackLayout in Exercise
    - Task1, 2로 나눠져 있으며 BoxView를 사용하게 됨.
25. Grid in XAML
    - attached binded property
    - property element class
    - Grid.ColoumnDefinitions, Grid.RowDefinitions
    - * , Auto, unit(100)

26. Grid in Code

   - var grid = new Grid로 선언, 기본 속성으로는 RowSpacing, ColumSpacing이 있다.

   - grid.Children.add(Veiw, Left, Top) 으로 자식 노드를 설정할 수 있다.

   - Grid.SetRowSpan(View , span) 을 넣을 수 있다.

   - Grid.SetRow, Grid.SetColumn 도 존재하지만 25강에서 말했듯 attached binded property로 사용하려면 grid.Children.add로 사용하는게 권장된다.

   - 달력이나 스케쥴러를 XAML에서 작성하면 시간이 너무 오래걸리므로 code를 추천한다.

27. Grid Exercise

   - 그리드 사용 연습