2017년 1월 25일 수요일

자마린 스튜디오(Xamarin)을 사용한 웹뷰 컨트롤 제어 코드입니다.

맥에서 C#으로 아이폰용앱, 안드로이드용 앱을 만드는 것은 꿈만 같은 일입니다. ^^

맥에서 자마린 스튜디오로 자마린폼기반으로 프로젝트를 생성합니다. 아래와 같이 재물 코드를 코딩합니다.

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
x:Class="DemoDataBinding.DemoWebView">


<ContentPage.Padding>    
<OnPlatform x:TypeArguments="Thickness"        
  iOS="10, 20, 10, 0"        Android="10, 0"        WinPhone="10, 0" />    
</ContentPage.Padding>


<StackLayout>        
<Entry Keyboard="Url"            Placeholder="web address"            
Completed="OnEntryCompleted" />        
  <StackLayout Orientation="Horizontal"            
  BindingContext="{x:Reference webView}">            
<Button Text="&#x21D0;"                FontSize="Large"                
HorizontalOptions="FillAndExpand"                
IsEnabled="{Binding CanGoBack}"                Clicked="OnGoBackClicked" />            
<Button Text="&#x21D2;"                FontSize="Large"                
HorizontalOptions="FillAndExpand"                IsEnabled="{Binding CanGoForward}"                Clicked="OnGoForwardClicked" />            
</StackLayout>                         

<WebView x:Name="webView"                VerticalOptions="FillAndExpand"                 
Source="https://xamarin.com" />    
</StackLayout>
</ContentPage>

using System.Collections.Generic;
using Xamarin.Forms;
namespace DemoDataBinding
{
    public partial class DemoWebView : ContentPage
    {
        public DemoWebView()
        {
            InitializeComponent();
        }
        void OnEntryCompleted(object sender, EventArgs args)
        {
            webView.Source = ((Entry)sender).Text; 
        }
        void OnGoBackClicked(object sender, EventArgs args)
        {
            webView.GoBack(); 
        }
        void OnGoForwardClicked(object sender, EventArgs args)
        {
            webView.GoForward(); 
        }
    }
}



using System;
using System.Collections.Generic;

using Xamarin.Forms;

namespace DemoDataBinding
{
    public partial class DemoWebView : ContentPage
    {
        public DemoWebView()
        {
            InitializeComponent();
        }

        void OnEntryCompleted(object sender, EventArgs args)
        {
            webView.Source = ((Entry)sender).Text; 
        }

        void OnGoBackClicked(object sender, EventArgs args)
        {
            webView.GoBack(); 
        }

        void OnGoForwardClicked(object sender, EventArgs args)
        {
            webView.GoForward(); 
        }
    }
}

실행하면 아래와 같이 실행됩니다.




댓글 없음:

댓글 쓰기

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.

Xcode 26의 새로운 기능들

 애플의 AI준비에 대한 골든타임이 지나가고 있다는 말이 많이 들립니다. ㅎㅎ  애플의 그동안의 패쇄적인 환경을 생각하면 온디바이스AI나 LLM환경에서 다소 아쉬운 부분이 많이 있습니다. 다른 빅테크들과 전혀 다른 방향의 목소리를 내고 있어서 좀 우려...