我在UWP应用程序中使用c#代码创建webview。我已经为它附加了一个LoadCompleted事件。当此事件触发时ActaulHeight和ActualWidth为0.我尝试将其MinWidth和MinHeight设置为500.但它不起作用。
我在XAML中创建了一个webview控件,但是在那种情况下,ActualHeight和ActualWidth是500。
以下是代码:
public WebView _webView { get; set; }
public ViewPage()
{
this.InitializeComponent();
_webView = new WebView
{
HorizontalAlignment = HorizontalAlignment.Stretch,
VerticalAlignment = VerticalAlignment.Top,
Source = new Uri(@"https://www.google.com"),
MinHeight = 500,
MinWidth = 500
};
}
private void _webView_LoadCompleted(object sender, NavigationEventArgs e)
{
// Here, when I debug _webview ActualHeight and ActaulWidth is zero.
}
答案 0 :(得分:1)
ActualWidth
和ActualHeight
反映了布局中UI元素的大小。在C#代码中,您只创建了WebView
类的实例,但实际上没有将它放在页面的任何位置,因此这些值为零。
相反,当您使用XAML时,不仅创建了WebView
类的实例,而且还将此UI元素嵌入到运行应用程序时显示的页面中,因此ActualWidth
并且ActualHeight
包含该页面上UI元素的实际尺寸。