在uwp中更改web视图中的字体大小

在uwp中更改web视图中的字体大小,uwp,Uwp,我目前正在从事UWP项目,我使用web视图来显示html内容。我希望项目中的内容能够响应屏幕大小。因此,我需要在笔记本电脑大小的屏幕和PC屏幕中为web视图提供不同的字体大小。以下代码是我用于在PC屏幕中显示内容的代码 <StackPanel x:Name="questionItem" HorizontalAlignment="Center" Grid.Row="1" Grid.Column="1" > <WebView Name="webview" Width

我目前正在从事UWP项目,我使用web视图来显示html内容。我希望项目中的内容能够响应屏幕大小。因此,我需要在笔记本电脑大小的屏幕和PC屏幕中为web视图提供不同的字体大小。以下代码是我用于在PC屏幕中显示内容的代码

<StackPanel  x:Name="questionItem" HorizontalAlignment="Center"   Grid.Row="1" Grid.Column="1"   >
   <WebView Name="webview" Width="750"   util:WebViewCustomProperties.HtmlString="{Binding CourseName}"  ScriptNotify="WebViewT_ScriptNotify" DefaultBackgroundColor="Transparent"  />
</StackPanel>

在代码文件后面

 if (courseid != null)
        {
            course.CourseName = "<div style=\"font-size: 25px;VerticalAlignment:Center;font-family:Segoe UI;width: 100%;\">" + course.CourseName + "</div>";
        }
if(courseid!=null)
{
course.CourseName=“”+course.CourseName+”;
}
我使用视觉状态为web视图提供了不同的宽度

<VisualStateManager.VisualStateGroups>
        <VisualStateGroup x:Name="VisualStateGroup">

            <VisualState >
                <VisualState.StateTriggers>
                    <AdaptiveTrigger MinWindowWidth="0" MinWindowHeight="0"  />
                </VisualState.StateTriggers>
                <VisualState.Setters>
                    <Setter Target="webview.Width" Value="430"/>                                             
                </VisualState.Setters>
            </VisualState>

            <VisualState >
                <VisualState.StateTriggers>
                    <AdaptiveTrigger MinWindowWidth="1280" MinWindowHeight="720"/>
                </VisualState.StateTriggers>
                <VisualState.Setters>
                    <Setter Target="webview.Width" Value="750"/>                       
                </VisualState.Setters>
            </VisualState>


        </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>

我想做的是给web视图提供两个类似于宽度的字体大小。目前,笔记本电脑和PC屏幕的字体大小都是25px。因此,笔记本电脑屏幕中的内容被切断。如果有人能帮我,我将不胜感激。谢谢

在uwp中更改web视图中的字体大小

您可以使用方法注入
javascript
eval函数,并使用以下代码更改html页面上的字体。对于您的场景,您可以监听
CoreWindow.SizeChanged
事件,并根据窗口的宽度设置fontsize

例如:

 public MainPage()
 {
     this.InitializeComponent();
     MyWebView.DOMContentLoaded += MyWebView_DOMContentLoaded;
     Window.Current.CoreWindow.SizeChanged += CoreWindow_SizeChanged;

 }

 private async void CoreWindow_SizeChanged(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.WindowSizeChangedEventArgs args)
 {
     if (args.Size.Width == 1280 && isLoaded)
     {
         await MyWebView.InvokeScriptAsync("eval", new string[] { "document.getElementsByTagName(\"div\")[0].style.fontSize=\"" + 30 + "\";" });
     }
 }

 private bool isLoaded;
 private void MyWebView_DOMContentLoaded(WebView sender, WebViewDOMContentLoadedEventArgs args)
 {
     isLoaded = true;
 }

如果有一种方法可以在web视图中修剪文本,那将非常有用。我的意思是在uwp的TextBlock控件中有一个名为TextTriming的属性。同样,如果web视图控件中有一个用于修剪长文本的控件,则可以使用它来代替更改字体大小。谢谢