Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- FLUTTER
- 프로그래머스
- Python
- Flutter TextField
- Django REST framework
- RxAndroid
- 안드로이드 구글맵
- Kotlin
- Android
- UWP
- Django REST
- kodility
- android push
- RxJava
- NDK
- mfc
- C
- dart
- livedata
- Java
- Django REST Android
- flutter firestore
- 알고리즘
- android architecture component
- Android P
- C/C++
- C++
- 코틀린
- 안드로이드
- Rxjava2
Archives
- Today
- Total
개발하는 두더지
[C/C++/C#/UWP] XAML파일을 CS 코드로 대체하기 본문
엘리먼트나 컨트롤을 항상 XAML에서 인스턴스화할 필요는 없습니다. 대신 코드에서 만들 수 있는데
특별히 동일한 유형의 개체를 많이 만들어야 할 때 유용합니다. ( 루프순환이 없기때문)
XAML 편집기가 아닌 CS 코드 파일에서 직접 텍스트블럭을 생성해보도록 하겠습니다.
Grid 에 x;Name 속성만 사용합니다. 코드에서 사용할 Key 입니다.
MainPage.xaml
1 2 3 | <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" x:Name="contentGrid"> </Grid> | cs |
아래 기본 코드에서부터 시작하겠습니다.
MainPage.xaml.cs
1 2 3 4 5 6 7 8 9 10 | public sealed partial class MainPage : Page { public MainPage() { this.InitializeComponent(); } } | cs |
this.InitializeComponent(); 아래에 다음 코드를 작성합니다.
1 2 3 4 5 6 7 8 9 | TextBlock txtblk = new TextBlock(); txtblk.Text = "Hello, Windows 10!"; txtblk.FontFamily = new FontFamily("Times New Roman"); txtblk.FontSize = 96; txtblk.FontStyle = FontStyle.Italic; txtblk.Foreground = new SolidColorBrush(Colors.Yellow); txtblk.HorizontalAlignment = HorizontalAlignment.Center; txtblk.VerticalAlignment = VerticalAlignment.Center; contentGrid.Children.Add(txtblk); | cs |
MainPage 생성자에서 InitializeComponent 호출 후에 코드를 삽입하는 것에 주목!
InitializeComponent 보다 먼저 TextBlock을 만들수는 있지만, InitializeComponent 후에 Grid에 추가를 해야합니다.
그 호출 이전에는 Grid가 존재하지 않기 때문입니다.
결과
다른 방식으로 TextBlock 만들기
객체 생성시 속성값으로 설정
1 2 3 4 5 6 7 8 9 10 11 | //2 TextBlock txtblk = new TextBlock { Text = "Hello, Windows 10!", FontFamily = new FontFamily("Times New Roman"), FontSize = 96, FontStyle = FontStyle.Italic, Foreground = new SolidColorBrush(Colors.Yellow), HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center }; | cs |
Page 태그에서 XAML의 폰트 관련 속성을 설정하는 방법을 코드로 설정
1 2 3 4 5 6 7 8 9 10 11 | // Page 태그에서 XAML의 폰트속성을 설정하고, TextBlock에서 속성이 상속 this.FontFamily = new FontFamily("Times New Roman"); this.FontSize = 96; this.FontStyle = FontStyle.Italic; this.Foreground = new SolidColorBrush(Colors.Yellow); TextBlock txtblk = new TextBlock { Text = "Hello, Windows 10!", HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center }; | cs |
'C,C++' 카테고리의 다른 글
[C# / UWP ] UWP에서 Newtonsoft.json 사용하기 (1) | 2017.01.25 |
---|---|
[C/C++/C#/UWP] 다양한 텍스트 처리 방법 (0) | 2017.01.25 |
[C/C++/C#/UWP] UWP Command Bar 구현하기 (0) | 2016.10.25 |
[C/C++/C#/UWP] UWP 네비게이션 구현하기 (1) | 2016.10.25 |
[C/C++/C#/UWP] UWP SplashScreen (스플래쉬스크린) 구현하기 (1) | 2016.10.24 |
Comments