Wpf 现代图形用户界面+;powershell=System.Windows.Markup.StaticResourceHolder

Wpf 现代图形用户界面+;powershell=System.Windows.Markup.StaticResourceHolder,wpf,powershell,Wpf,Powershell,我想在Powershell上使用ModernWPUI主题。 一般来说,为了更好的GUI,我在powershell中只使用XAML,所以我真的不知道太多 现在,这是我的测试代码: XAML(test.XAML): 结果: MethodInvocationException: (path)\run.ps1: 15: 1 Line | 15 | $ Form = [Windows.Markup.XamlReader] :: Load ($ Reader) | ~~~~~~~~~~~~~~

我想在Powershell上使用ModernWPUI主题。 一般来说,为了更好的GUI,我在powershell中只使用XAML,所以我真的不知道太多 现在,这是我的测试代码:

XAML(test.XAML):

结果:

MethodInvocationException: (path)\run.ps1: 15: 1
Line |
  15 | $ Form = [Windows.Markup.XamlReader] :: Load ($ Reader)
     | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Exception calling "Load" with arguments "1": "An exception was thrown when specifying a value on 'System.Windows.Markup.StaticResourceHolder'."

Invalid operation: (path)\run.ps1: 22: 1
Line |
  22 | $ Form.ShowDialog ()
     | ~~~~~~~~~~~~~~~~~~
     | A method cannot be called on a null-valued expression.
我尝试在“clr namespace:ModernWpf;assembly=ModernWpf”中编辑或添加它,结果相同

[System.Reflection.Assembly]::LoadWithPartialName('presentationframework')      | out-null
[System.Reflection.Assembly]::LoadFrom('.\assembly\ModernWpf.dll')              | out-null
[System.Reflection.Assembly]::LoadFrom('.\assembly\ModernWpf.Controls.dll')     | out-null
[System.Reflection.Assembly]::LoadFrom('.\assembly\System.ValueTuple.dll')      | out-null

function LoadXml ($global:filename)
{
    $XamlLoader=(New-Object System.Xml.XmlDocument)
    $XamlLoader.Load($filename)
    return $XamlLoader
}

$XamlMainWindow=LoadXml("test.xaml")
$Reader=(New-Object System.Xml.XmlNodeReader $XamlMainWindow)
$Form=[Windows.Markup.XamlReader]::Load($Reader)
$Global:Current_Folder =(get-location).path 


$Form.ShowDialog() 
MethodInvocationException: (path)\run.ps1: 15: 1
Line |
  15 | $ Form = [Windows.Markup.XamlReader] :: Load ($ Reader)
     | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Exception calling "Load" with arguments "1": "An exception was thrown when specifying a value on 'System.Windows.Markup.StaticResourceHolder'."

Invalid operation: (path)\run.ps1: 22: 1
Line |
  22 | $ Form.ShowDialog ()
     | ~~~~~~~~~~~~~~~~~~
     | A method cannot be called on a null-valued expression.