■ DataTemplate 클래스를 사용해 CarouselView 클래스의 ItemTemplate 속성을 설정하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
private CarouselView carouselView; ... carouselView.ItemTemplate = new DataTemplate ( () => { #region ID 레이블을 설정한다. Label idLabel = new Label { HorizontalOptions = LayoutOptions.Center, FontSize = 16 }; idLabel.SetBinding(Label.TextProperty, "ID"); #endregion #region 제목 레이블을 설정한다. Label titleLabel = new Label { HorizontalOptions = LayoutOptions.Center, FontSize = 18, FontAttributes = FontAttributes.Bold }; titleLabel.SetBinding(Label.TextProperty, "Title"); #endregion #region 이미지 소스 이미지를 설정한다. Image imageSourceImage = new Image { HorizontalOptions = LayoutOptions.Center, WidthRequest = 200, HeightRequest = 200, Aspect = Aspect.Fill }; imageSourceImage.SetBinding(Image.SourceProperty, "ImageSource"); #endregion #region 스택 레이아웃을 설정한다. StackLayout stackLayout = new StackLayout { Spacing = 10 }; stackLayout.Children.Add(idLabel ); stackLayout.Children.Add(titleLabel ); stackLayout.Children.Add(imageSourceImage); #endregion #region 프레임을 설정한다. Frame frame = new Frame { HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, HeightRequest = 300, CornerRadius = 5, BorderColor = Colors.DarkGray, HasShadow = true }; frame.Content = stackLayout; #endregion #region 그리드를 설정한다. Grid grid = new Grid(); grid.Children.Add(frame); #endregion return grid; } ); |