public/Image.ps1
<#
.SYNOPSIS An image control .DESCRIPTION An Image control .PARAMETER Name The name of the control .PARAMETER ImageURI What image to display (in uri/path form) .PARAMETER property Properties to extend/override the base properties defined in the function .EXAMPLE Dialog { Image -ImageUri C:\temp\Picture.png } .NOTES General notes #> function Image { [CmdletBinding()] Param([string]$Name, [string]$ImageURI, [hashtable]$property = @{}) $baseProperties = @{ Name = $name } $properties = Merge-HashTable $baseProperties $property $o = new-object System.Windows.Controls.Image -Property $properties $o | add-member -Name LoadImage -MemberType ScriptMethod -Value {param($URI) $imageSource=new-object System.Windows.Media.Imaging.BitmapImage (new-object System.Uri $URI ) $this.Source=$imageSource } if($ImageURI){ $o.LoadImage($ImageURI) } $o | add-member -Name HideLabel -MemberType NoteProperty -Value $true $o | add-member -Name Window -MemberType ScriptProperty -Value {[System.Windows.Window]::GetWindow($this)} -PassThru } |