티스토리 뷰
반응형
Xamarin.Forms (PCL)에서 전체 앱에 적용되는 스타일을 선언하는 방법에 대해 소개합니다.
해당 기능은 Xamarin.Forms 2.3.1에서 추가된 기능이므로 이전 버전에서는 사용할 수 없습니다.
- Xamarin.Forms PCL 프로젝트를 생성합니다.
- 스타일을 추가할 위치에 ContentPage를 추가합니다. 여기에서는 Common 이란 이름으로 생성하였습니다.
- ContentPage.xaml파일을 열고 ContentPage를 ResourceDictionary로 변경해줍시다. 추가적으로 원하는 스타일을 추가해주세요.
<!-- ContentPage를 ResourceDictionary로 변경 --> <ResourceDictionary xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="xamarinGlobalStyle.Assets.Styles"> <!-- 원하는 공용 Stlye 추가 --> <Style TargetType="Label"> <Setter Property="TextColor" Value="Red" /> </Style> </ResourceDictionary>
- ContentPage.xaml.cs파일을 열고 ContentPage를 ResourceDictionary로 변경해주세요.
using Xamarin.Forms; using Xamarin.Forms.Xaml; namespace xamarinGlobalStyle.Assets.Styles { //ContentPage를 ResourceDictionary로 변경 [XamlCompilation(XamlCompilationOptions.Compile)] public partial class Common : ResourceDictionary { public Common() { InitializeComponent(); } } }
- 이제 App.xaml파일을 열고 다음과 같이 MergeWith를 통해 위에서 추가한 Style을 지정해주세요.
<?xml version="1.0" encoding="utf-8"?> <Application xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="xamarinGlobalStyle.App" xmlns:styles="clr-namespace:xamarinGlobalStyle.Assets.Styles"> <Application.Resources> <!-- MergeWith를 통해 Style추가하면 앱 전체에 스타일이 적용됩니다 --> <ResourceDictionary MergedWith="styles:Common"> </ResourceDictionary> </Application.Resources> </Application>
- 이제 제대로 적용이 되었는지 확인해 봅시다.
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="xamarinGlobalStyle.Page"> <!-- 제대로 적용되었다면 아래 글씨는 붉은색으로 나타납니다. --> <Label Text="스타일이 적용되었나요?" /> </ContentPage>
'Mobile > Xamarin.Forms' 카테고리의 다른 글
[Xamarin.Forms] 4.0 정식 출시 (0) | 2019.05.27 |
---|---|
[Xamarin.iOS] DeepLink 처리 (Universal Links) (1) | 2018.08.24 |
[Xamarin.Fomrs] NavigationBar 그림자 주기 (0) | 2017.11.15 |
Xamarin.Forms 2.4.0 Stable 출시 (0) | 2017.11.14 |
[Xamarin] .NET Standard 기반의 Xamarin.Forms PCL 로 변환하기 (0) | 2017.11.14 |
[Xamarin.Forms] 차트 표현하기 (Syncfusion) (0) | 2017.11.14 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- Xamarin.iOS
- Xamarin.Forms
- material-ui
- Android
- MS SQL
- flutter
- WPF
- .NET Standard
- c#
- StringComparison
- ios
- ASP.NET Core
- Xamarin
- npm
- Vue
- TypeScript
- React
- VisualStudio
- Xamarin.Forms 요약
- Xamarin.Forms eBook
- Total
- Today
- Yesterday