这种简单的做法很好用如果我使用的WebView,放IsPrivateNetworkClientServerCapabilityEnabled至true,并加载一个本地网的网站,它会正常加载。<WPF:WebView Source="http://localnetworkwebsite" NavigationStarting="Wvc_NavigationStarting" NavigationCompleted="Wvc_NavigationCompleted" IsPrivateNetworkClientServerCapabilityEnabled="True" />这种做法是行不通的在我的应用程序中,我想同时管理多个网页(如独立浏览器上的选项卡),所以我使用 anItemControl来实例化我需要的 WebView 计数(这个数字并不总是相同)。<ItemsControl x:Name="ItemsWebview" ItemsSource="{Binding WebviewsDataSource}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <Grid></Grid> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <!--Item--> <WPF:WebView Visibility="{Binding Visibility}" Source="{Binding Source}" NavigationStarting="Wvc_NavigationStarting" NavigationCompleted="Wvc_NavigationCompleted" IsPrivateNetworkClientServerCapabilityEnabled="True" /> <!--End Item--> </DataTemplate> </ItemsControl.ItemTemplate></ItemsControl>然后,我更改了Sourceths WebView,并使用 ViewModel 隐藏/使它们可见:public class WebviewViewModel : INotifyPropertyChanged{ public event PropertyChangedEventHandler PropertyChanged; public Guid LinkedId { get; set; } private System.Windows.Visibility _visibility; public Visibility Visibility { get { return _visibility; } set { _visibility = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Visibility))); } }整个事情似乎有效,但仅适用于外部网站,不适用于本地网站。404 NotFound使用这种方式创建 WebView 时,我总是得到本地网络站点的一个,就好像IsPrivateNetworkClientServerCapabilityEnabled被忽略了一样。但是本地站点使用简单的方法。我在创建后检查了WebViews的状态,IsPrivateNetworkClientServerCapabilityEnabled值仍然是true.所以...由于此控件相对较新,因此对我来说这看起来像是一个错误...但是我做错了什么吗?
1 回答
- 1 回答
- 0 关注
- 202 浏览
添加回答
举报
0/150
提交
取消