自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深入探討WPF窗口不規(guī)則形式實(shí)現(xiàn)技巧

開發(fā) 開發(fā)工具
WPF窗口要想實(shí)現(xiàn)一個不規(guī)則的窗口形態(tài),其方法是比較簡單的。我們在操作之前,要做的首先就是修改幾個窗口屬性。

WPF中的窗口實(shí)現(xiàn),在許多應(yīng)用程序中都是比較常用到的。而且根據(jù)開發(fā)人員需求的不同,WPF窗口還可以根據(jù)需求進(jìn)行各種形態(tài)的變化。#t#

在WPF窗口要實(shí)現(xiàn)不規(guī)則形狀的窗口其實(shí)很簡單,首先我們要設(shè)置幾個Window的屬性,如下:

  1. < Window x:Class="Borderless
    Window.Window1"
     
  2. xmlns="http://schemas.microsoft.
    com/winfx/2006/xaml/presentation"
     
    xmlns:x="http://schemas.microsoft.
    com/winfx/2006/xaml"
     
  3. Title="BorderlessWindow" 
    Height="300" Width="300" 
  4. WindowStyle="None" Background=
    "{x:Null}" AllowsTransparency="True" 
  5. > 

這里我們設(shè)置了WindowStyle="None",這表示去掉WPF窗口的邊框和標(biāo)題欄;Background="{x:Null}"表示背景為透明,這一步必須做,因?yàn)槟J(rèn)的背景色是白色的;AllowsTransparency="True"是與WindowsStyle.None配合使用的,如果你在此時把WindowStyle="None"去掉,會收到一個錯誤。

在主窗口中,我們可以放入以下一段代碼:

 

 

  1. < Grid> 
  2. < Border CornerRadius="5,5,5,5" 
    Background="#FF777777" 
    Height="Auto"> < /Border> 
  3. < /Grid> 

這表示一個帶有圓弧彎角的矩形。

 

但這樣是不是就實(shí)現(xiàn)了呢?當(dāng)然不是,現(xiàn)在運(yùn)行WPF窗口你會發(fā)現(xiàn)一些問題——無法拖動、無法關(guān)閉。不過不用擔(dān)心,實(shí)現(xiàn)這些功能并不難,因?yàn)閃indow提供了相應(yīng)的函數(shù)來實(shí)現(xiàn)拖動和關(guān)閉——DragMove和Close。

拖動的話,我們可以為Window添加一個MouseLeftButtonDown的事件處理程序,并在里面調(diào)用DragMove就可以了(不需要任何參數(shù)):

  1. public void DragWindow
    (object sender, Mouse
    ButtonEventArgs args)  
  2. {  
  3. this.DragMove();  

至于關(guān)閉,我們可以添加一個按鈕,然后在Click事件處理程序中調(diào)用Close:

  1. public void CloseWindow
    (object sender, Routed
    EventArgs args)  
  2. {  
  3. this.Close();  

 

為了讓關(guān)閉按鈕更別致些,我對Button的Template做了重載。到這里就基本完成了WPF窗口的設(shè)置。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2009-12-25 14:18:03

WPF依賴屬性

2009-12-23 16:13:00

WPF Attache

2009-12-29 15:24:48

WPF對話框

2009-12-23 16:27:49

WPF UI自動化模型

2009-12-01 16:34:21

PHP表單

2009-11-20 17:17:08

Oracle函數(shù)索引

2021-05-17 05:36:02

CSS 文字動畫技巧

2010-11-22 14:18:32

MySQL鎖機(jī)制

2010-07-21 09:38:15

PHP緩存技術(shù)

2024-04-01 13:05:13

C++接口類開發(fā)

2024-01-26 06:42:05

Redis數(shù)據(jù)結(jié)構(gòu)

2017-01-03 17:57:46

Android異步精髓Handler

2013-07-11 09:45:48

扁平化扁平化設(shè)計(jì)

2009-12-07 13:55:58

PHP array_m

2009-12-07 16:07:03

PHP類的繼承

2009-10-16 09:17:39

屏蔽布線系統(tǒng)

2009-11-12 13:56:54

2009-12-14 14:40:10

Ruby全局域變量

2012-02-28 14:43:43

2009-12-11 11:08:31

靜態(tài)路由策略
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號