C# WPF网络视图';使用ItemTemplate时忽略了s IsPrivateneWorkClientServerCapabilityEnabled
这种简单的做法效果很好 如果我使用,将C# WPF网络视图';使用ItemTemplate时忽略了s IsPrivateneWorkClientServerCapabilityEnabled,c#,wpf,mvvm,itemtemplate,C#,Wpf,Mvvm,Itemtemplate,这种简单的做法效果很好 如果我使用,将isPrivateneWorkClientServerCapabilityEnabled设置为true,并加载本地网络网站,它将正确加载 <WPF:WebView Source="http://localnetworkwebsite" NavigationStarting="Wvc_NavigationStarting" NavigationCompleted="Wvc_NavigationComp
isPrivateneWorkClientServerCapabilityEnabled
设置为true
,并加载本地网络网站,它将正确加载
<WPF:WebView Source="http://localnetworkwebsite"
NavigationStarting="Wvc_NavigationStarting"
NavigationCompleted="Wvc_NavigationCompleted"
IsPrivateNetworkClientServerCapabilityEnabled="True" />
然后,我更改Web视图的源代码,并使用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)));
}
}
private Uri _source;
public Uri Source
{
get
{
return _source;
}
set
{
_source = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Source)));
}
}
}
WebviewsDataSource
是ObservableCollection
整个过程似乎都很有效,但只适用于外部网站,而不适用于本地网站。使用此方法创建Web视图时,我总是会为本地网络站点获得一个404 NotFound
,就好像忽略了isPrivateneWorkClientServerCapabilityEnabled
。但当地网站采用的是简单的方法
我已经检查了创建后Web视图的状态,isPrivateneWorkClientServerCapabilityEnabled
值仍然为true
所以…
因为这个控件是,我觉得它像个bug。。。
但我做错什么了吗
编辑
可以下载问题的最小.sln
此简单的WPF应用程序将无法在ItemTemplate
中打开本地网络网站(而外部网站将正常工作),并且在直接使用控件时将成功打开本地网络网站
只需更改MainWindowViewModel.cs
中的WebviewsDataSource
值即可测试本地网络URL。Microsoft团队确认这是一个错误:
编辑:该错误已修复并合并到v4.0.0中。如果遇到此问题,只需将Microsoft.Toolkit.Win32.UI.Controls
nuget包更新为4.0.1+
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)));
}
}
private Uri _source;
public Uri Source
{
get
{
return _source;
}
set
{
_source = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Source)));
}
}
}