我下面有一个由Visual Studio创建的XAML文件,我无法使用powershell的name属性读取节点。
我试过下面的命令从$ XAML中读取
[void][System.Reflection.Assembly]::LoadWithPartialName('presentationframework')
$reader=(New-Object System.Xml.XmlNodeReader $xaml)
$Form=[Windows.Markup.XamlReader]::Load( $reader )
$xaml.SelectNodes("//*[@Name]") | ForEach-Object {Set-Variable -Name ($.Name) -Value $Form.FindName($_.Name)}
上面提到的命令可以与另一个XAML文件完美配合,现在我从下面粘贴的XAML中没有任何值,
我可以看到的与此XAML的不同之处在于添加了网格。但是我需要在XAML下面使用。任何帮助表示赞赏。
我的XAML文件在这里https://gist.github.com/pramodtvm/c5f5d4d262c2d0ab72d502d1d526c309
最佳答案
好吧,似乎是一些 namespace 的东西,您可以使用以下代码吗:
$XAML.GetElementsByTagName("*")|? { $Form.FindName($_.Name) }|% { Set-Variable -Name $_.Name -Value $_ }
关于powershell - 使用Power Shell阅读XAML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47996197/