2010-10-20 4 views
2

J'essaie de créer un pack ui référençant une ressource xaml à l'intérieur d'un fichier d'assemblage dans powershell. Après avoir lu ce post j'ai essayé de le faire:Powershell pack uri object

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

Le je reçois une erreur en notant qu'il attend un port car il y a deux-points.

Quelqu'un peut-il s'il vous plaît avis?

+0

bonne question. Je reçois la même erreur en collant les exemples dans http://msdn.microsoft.com/en-us/library/aa970069.aspx en C# trop –

+0

si vous essayez d'appliquer une ressource d'assemblage à votre fenêtre, je pense que vous pouvez ajoutez une référence à la DLL et dans l'app.xaml créez un dictionnaire de ressources similaire à celui-ci: foureight84

Répondre

1

Vous pouvez procéder de deux manières différentes. La première consiste à charger et init l'infrastructure WPF:

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

L'autre façon est d'enregistrer manuellement le protocole pack:

$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")