Powershell包uri对象

时间:2010-10-20 08:44:54

标签: wpf xaml powershell uri pack

我正在尝试创建一个包,引用PowerShell中的程序集文件中的xaml资源。阅读此post后,我尝试这样做:

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

我得到一个错误,指出它正在期待一个端口,因为有两个冒号。

有人可以提供建议吗?

1 个答案:

答案 0 :(得分:1)

你可以采用以下两种方式之一。一种是加载并初始化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")