Эту проблему легко воспроизвести, используя простой HTML-фрагмент (сохранить как test.html):
<style>
a { behavior: url(#default#AnchorClick); }
</style>
<a href="https://webdav.mc.gmx.net/" folder="https://webdav.mc.gmx.net/" target="_blank">open</a>
Если вы откроете test.html в InternetExplorer и нажмете на открытую ссылку, появится новый проводник Windows.всплывает с указанной папкой WebDAV.Это именно то, что я ожидаю.
Теперь, если я открою test.html внутри WPF WebBrowser-Control, поведение будет другим.Он открывает новое окно Internet Explorer с ошибкой HTTP 405.
Вот XAML и код для проверки его в WPF WebBrowser:
<Window x:Class="Misc.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<WebBrowser x:Name="_browser" />
using System.IO;
namespace Misc
{
public partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
var folder = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
var file = Path.Combine(folder, "test.html");
_browser.Navigate(file);
}
}
}
ПРИМЕЧАНИЕ:
- В обоих случаях, поскольку это локальный файл, сначала необходимо «Разрешить заблокированное содержимое» (желтая полоса вверху).
- URL-адрес вэтот образец не является реальным, потому что он доступен только в интрасети.Настоящий URL указывает на папку SharePoint WebDAV.