PowerShell中調(diào)用WPF生成炫酷窗口實(shí)例
怎樣在PowerShell中調(diào)用WPF,你知道,我也知道;怎樣在PowerShell中將很長(zhǎng)的.NET類(lèi)型名稱(chēng)縮短成別名,你知道,我也知道。但是怎樣將這兩個(gè)知識(shí)點(diǎn)融匯貫通,寫(xiě)出一個(gè)優(yōu)雅的DEMO,并且讓你一眼就能看出,這就是WPF,不是別的,也許你以前就知道,而我直到今天才知道,有種相見(jiàn)恨晚的感覺(jué)。
先看一下炫酷的效果吧!
PowerShell之WPF炫酷
# Plik: 4_Demo_v3_Reflection.ps1 #requires -version 3 $Akceleratory = [PSObject]. Assembly. GetType("System.Management.Automation.TypeAccelerators") Add-Type -AssemblyName PresentationCore, PresentationFramework -PassThru | Where-Object IsPublic | ForEach-Object { $Class = $_ try { $Akceleratory::Add($Class.Name,$Class) } catch { "Failed to add $($Class.Name) accelerator pointing to $($Class.FullName)" } } [Window]@{ OpacityMask = [DrawingBrush]@{ Drawing = [DrawingGroup]@{ Children = & { $Kolekcja = New-Object DrawingCollection $Kolekcja.Add([GeometryDrawing]@{ Brush = 'Black' Geometry = [EllipseGeometry]@{ radiusX = 0.48 radiusY = 0.48 Center = '0.5,0.5' } }) $Kolekcja.Add([GeometryDrawing]@{ Brush = 'Transparent' Geometry = [RectangleGeometry]@{ Rect = '0,0,1,1' } }) , $Kolekcja } } } Background = [LinearGradientBrush]@{ Opacity = 0.5 StartPoint = '0,0.5' Endpoint = '1,0.5' GradientStops = & { $Stopki = New-Object GradientStopCollection $Colors = 'Blue', 'Green' foreach ($i in 0..1) { $Stopki.Add( [GradientStop]@{ Color = $Colors[$i] Offset = $i } ) } , $Stopki } } Width = 800 Height = 400 WindowStyle = 'None' AllowsTransparency = $true Effect = [DropShadowEffect]@{ BlurRadius = 10 } TopMost = $true Content = & { $Stos = [StackPanel]@{ VerticalAlignment = 'Center' HorizontalAlignment = 'Center' } $Stos.AddChild( [Label]@{ Content = 'PowerShell Rocks!' FontSize = 80 FontFamily = 'Consolas' Foreground = 'White' Effect = [DropShadowEffect]@{ BlurRadius = 5 } } ) , $Stos } } | ForEach-Object { $_.Add_MouseLeftButtonDown({ $this.DragMove() }) $_.Add_MouseRightButtonDown({ $this.Close() }) $_.ShowDialog() | Out-Null }
相關(guān)文章
簡(jiǎn)單談?wù)凱owerShell 4.0中的新命令
powershell 4.0都出來(lái)那么長(zhǎng)時(shí)間了,相對(duì)于powershell 3.0,它的命令都改變了哪些,有哪些更新呢?下面我們就來(lái)詳細(xì)談?wù)勂渲械?0個(gè)新命令2015-09-09Powershell中調(diào)用郵件客戶(hù)端發(fā)送郵件的例子
這篇文章主要介紹了Powershell中調(diào)用郵件客戶(hù)端發(fā)送郵件的例子,需要的朋友可以參考下2014-05-05通過(guò)DNS TXT記錄執(zhí)行powershell
這篇文章主要介紹了通過(guò)DNS TXT記錄執(zhí)行powershell的相關(guān)資料,以及nishang的腳本使用,需要的朋友可以參考下2017-10-10PowerShell 語(yǔ)音計(jì)算器實(shí)現(xiàn)代碼
帶中文發(fā)音功能的計(jì)算器程序,支持鼠標(biāo)和小鍵盤(pán)輸入,支持多種數(shù)值轉(zhuǎn)人民幣的相關(guān)資料2017-10-10PowerShell中使用Get-ChildItem命令讀取目錄、文件列表使用例子和小技巧
這篇文章主要介紹了PowerShell中使用Get-ChildItem命令讀取目錄、文件列表使用例子和小技巧,比如只讀取目錄列表的方法,只讀取文件列表的方法,需要的朋友可以參考下2014-08-08Windows Powershell 訪(fǎng)問(wèn)數(shù)組
本文主要講訴了windows powershell 從數(shù)組中選擇多個(gè)元素,將數(shù)組逆序輸出,給數(shù)組添加和刪除元素,希望對(duì)大家理解powershell能有所幫助2014-09-09