• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PowerShell中调用WPF生成炫酷窗口实例

    怎样在PowerShell中调用WPF,你知道,我也知道;怎样在PowerShell中将很长的.NET类型名称缩短成别名,你知道,我也知道。但是怎样将这两个知识点融汇贯通,写出一个优雅的DEMO,并且让你一眼就能看出,这就是WPF,不是别的,也许你以前就知道,而我直到今天才知道,有种相见恨晚的感觉。

    先看一下炫酷的效果吧!

    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
    }


    您可能感兴趣的文章:
    • WPF仿三星手机充电界面实现代码
    • WPF自动隐藏的消息框的实例代码
    • WPF中引入WindowsForms控件的方法
    • WPF的ListView控件自定义布局用法实例
    • VS中模仿WPF模板创建最简单的WPF程序
    • WPF实现时钟特效
    • WPF MVVM示例讲解
    • 如何搭建新的WPF项目框架
    • WPF实现渐变淡入淡出的登陆窗口效果
    • WPF气泡样式弹窗效果代码分享
    上一篇:Powershell中可以使用的.Net实用静态方法
    下一篇:Powershell使用OpenFileDialog打开文件示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PowerShell中调用WPF生成炫酷窗口实例 PowerShell,中,调用,WPF,生成,