Powershell pack uri объект - PullRequest
       20

Powershell pack uri объект

2 голосов
/ 20 октября 2010

Я пытаюсь создать пакетный пользовательский интерфейс, ссылающийся на ресурс xaml внутри файла сборки в powershell.После прочтения этой записи я попытался сделать это:

$resource = new-object system.uri("pack://application:,,,/WPFResource;component/test.xaml")

Я получаю сообщение об ошибке, отмечая, что он ожидает порт, так как есть два двоеточия.

Можеткто-нибудь, пожалуйста, совет?

1 Ответ

1 голос
/ 20 октября 2010

Вы можете сделать это одним из двух способов.Один из них - загрузить и запустить инфраструктуру WPF:

Add-Type -AssemblyName PresentationFramework,PresentationCore
[windows.application]::current > $null # Inits the pack protocol
new-object system.uri("pack://application:,,,/WPFResource;component/test.xaml")

Другой способ - вручную зарегистрировать протокол пакета:

$opt = [GenericUriParserOptions]::GenericAuthority
$parser = new-object system.GenericUriParser $opt
if (![UriParser]::IsKnownScheme("pack")) { 
    [UriParser]::Register($parser,"pack",-1) 
}
new-object system.uri("pack://application:,,,/WPFResource;component/test.xaml")
...