2014-03-19 3 views

답변

0

그래서 WinRT 응용 프로그램에서 WebView 용 DesignMode를 설정하는 방법을 찾은 것 같습니다. document.designMode 속성을 변경할 수있는 자바 스크립트 방법

난 그냥 필요한 호출 내 경우

"에"나는 DependencyProperty에 추가 웹보기에 대한 확장을 구현합니다. 나 자바 스크립트 메소드를 호출하는 필수 요구 사항

<WebView x:Name="webViewBody" Source="about:blank" controls:WebViewEx.DesignMode="true"/> 

XAML

에서 designMode를 해제 \ 켤 수 있습니다

public static class WebViewEx 
{ 
    public static readonly DependencyProperty DesignModeProperty = DependencyProperty.RegisterAttached(
                       "DesignMode", typeof(bool), 
                       typeof(WebViewEx), 
                       new PropertyMetadata(null, OnDesignModePropertyChanged)); 

    private async static void OnDesignModePropertyChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs e) 
    { 
     if (DesignMode.DesignModeEnabled) 
      return; 

     WebView view = dependencyObject as WebView; 
     if (view == null) 
      return; 

     if (e.NewValue == e.OldValue) 
      return; 

     await view.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async() => 
     { 
      if ((bool)e.NewValue) 
      { 
       await view.InvokeScriptAsync("eval", new string[] { "document.designMode = \"on\";" }); 
      } 
      else 
      { 
       await view.InvokeScriptAsync("eval", new string[] { "document.designMode = \"off\";" }); 
      } 
     }); 
    } 

    public static void SetDesignMode(DependencyObject element, bool value) 
    { 
     element.SetValue(DesignModeProperty, value); 
    } 
    public static bool GetDesignMode(DependencyObject element) 
    { 
     return (bool)element.GetValue(DesignModeProperty); 
    } 
} 

는 웹보기를 초기화해야한다. 제 경우에는 소스 속성을 "about : blank"로 설정했습니다.

관련 문제