이번시간에는 Picker 와 WebView 컨트롤을 알아보겠습니다.
(추가로 DisplayActionSheet 메서드 사용법도 알아볼께요)
Picker 는 윈폼으로 말하면 ComboBox 와 같은 형태로 여러 항목중에 하나를 선택할수 있는 컨트롤입니다.
https://developer.xamarin.com/api/type/Xamarin.Forms.Picker/
WebView 는 컨트롤 명에서도 유추할수 있듯이 웹페이지를 보는 컨트롤입니다.
WebView 에 url 을 넣어도 되지만 직접 html 코딩을 넣을수도 있습니다.
반드시 Android 에서 실행할때는 INTERNET 권한을 줘야합니다.
https://developer.xamarin.com/guides/xamarin-forms/user-interface/webview/
위 두 컨트롤의 예시 입니다.
WebPickerPage.xaml
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="XamarinFormsStudy.WebPickerPage">
<ContentPage.Content>
<StackLayout>
<Label Text="Picker"/>
<Picker x:Name="picker" SelectedIndexChanged="picker_SelectedIndexChanged"/>
<Button x:Name="button" Text="DisplayActionSheet" Clicked="button_Clicked"/>
<Label Text="WebView"/>
<WebView x:Name="webView" VerticalOptions="FillAndExpand"/>
</StackLayout>
</ContentPage.Content>
</ContentPage>
WebPickerPage.xaml.cs
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace XamarinFormsStudy
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class WebPickerPage : ContentPage
{
public WebPickerPage()
{
InitializeComponent ();
this.Padding = new Thickness(10, Device.OnPlatform(40, 20, 20), 10, 5);
// Picker 에 데이터를 Add 합니다.
this.picker.Items.Add("Easy");
this.picker.Items.Add("Normal");
this.picker.Items.Add("Hard");
this.webView.Source = new UrlWebViewSource { Url = "http://m.naver.com" };
}
private void picker_SelectedIndexChanged(object sender, EventArgs e)
{
// 선택한 항목을 팝업으로 띄워줍니다.
string selectData = this.picker.Items[this.picker.SelectedIndex];
DisplayAlert(selectData, "SelectValue", "OK");
}
private async void button_Clicked(object sender, EventArgs e)
{
// 선택 팝업이 뜨고 선택한 항목에 따라 버튼 색을 바꿔줍니다.
string color = await DisplayActionSheet("선택하세요", "취소", "닫기", "BLUE", "YELLOW", "RED", "GREEN");
switch (color)
{
case "BLUE": this.button.BackgroundColor = Color.Blue; break;
case "YELLOW": this.button.BackgroundColor = Color.Yellow; break;
case "RED": this.button.BackgroundColor = Color.Red; break;
case "GREEN": this.button.BackgroundColor = Color.Green; break;
}
}
}
}
결과
Normal 을 선택한 경우
추가로 DisplayActionSheet 함수는 목록 데이터를 팝업으로 보여주고 선택할 수 있게 합니다.
선택에 따른 처리도 가능합니다.
* 아래처럼 선택 항목들이 나열되고 선택하게되면 버튼 색이 선택한 색으로 변경됩니다.
'C# > Xamarin Maui' 카테고리의 다른 글
(Xamarin) MFractor Tool for Mac (0) | 2017.07.15 |
---|---|
(Xamarin Forms) 10.Grid - SfDataGrid (syncfusion) (0) | 2017.07.14 |
(Xamarin Forms) 8.Basic Control - Label, Button, Entry, Editor 등.. (0) | 2017.07.12 |
(Xamarin Forms) 7.SQLite - SQLite.Net-PCL 링크 (0) | 2017.07.12 |
(Xamarin Forms) 7.SQLite - PlugIn.SQLite (0) | 2017.07.12 |