成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WPF自定義窗口相關方法介紹

開發 開發工具
我們以一個代碼范例來為大家介紹一下有關WPF自定義窗口的相關知識概念。希望通過這篇文章介紹的內容可以幫助大家提高對WPF的理解程度。

在這篇文章中我們將會為大家介紹一下有關WPF自定義窗口的繼承方法。這一方面的知識點對于初學者來說是非常重要的。我們需要牢固掌握這一技巧。#t#

假設我們寫好的父窗口類為BaseWindow,對應BaseWindow.cs和BaseWindow.xaml, 要繼承它的窗口為Window1,對應Window1.cs和Window1.xaml,我們常常進行的動作是將VS為我們自動生成的代碼中的如下語句:

 

  1. public partial class 
    Window1 : Window 

修改成:

 

  1. public partial class 
    Window1 : BaseWindow 

 

但編譯后,你會得到一個錯誤:Window1有著不同的基類。

這是因為在window1.xaml中

 

  1. < Window 
  2. xmlns="http://schemas.
    microsoft.com/winfx/2006
    /xaml/presentation"
     
  3. xmlns:x="http://schemas.
    microsoft.com/winfx/2006/xaml"
     
  4. x:Class="InheritWindow
    Demo.Window1"
     
  5. Width="300" Height="300"> 
  6. < Grid x:Name=
    "LayoutRoot"/> 
  7. < /Window> 

 

我們的WPF自定義窗口繼承了Window類,打開Window1.g.cs也可以看到這一點(這是VS自動生成的一個中間文件,可以在Window1的InitializeComponent()方法上“轉到定義”來跳轉到該文件,也可以在Obj"Debug目錄下找到)。這就使得我們的Window1同時繼承Window和BaseWindow類,多繼承是不被允許的。

那么自然地,需要修改Window1.xaml,將其中的根“Window”,修改成我們的BaseWindow:

 

  1. < src:BaseWindow xmlns=
    "http://schemas.microsoft.
    com/winfx/2006/xaml/presentation"
     
  2. xmlns:x="http://schemas.
    microsoft.com/winfx/2006/xaml"
     
  3. x:Class="InheritWindowDemo.
    Window1"
     
  4. xmlns:src="clr-namespace:
    InheritWindowDemo"
     
  5. Height="300" 
  6. Width="300"> 
  7. < Grid> 
  8. < /Grid> 
  9. < /src:BaseWindow> 

 

心想,這下可以編譯通過了吧,抱歉,不行,又得到另一個編譯錯誤:src:BaseWindow不能是Xaml文件的根,因為它是由Xaml定義的,目前我避免這個問題的辦法是讓BaseWindow僅僅在C#中定義(即,沒有BaseWindow.xaml,只有BaseWindow.cs)。

OK,WPF自定義窗口編譯順利通過,繼承成功。

責任編輯:曹凱 來源: 博客園
相關推薦

2009-12-23 14:49:46

WPF面板

2010-03-18 16:19:02

Java自定義線程池

2009-12-24 14:38:52

WPF全屏幕窗口

2010-01-15 15:26:46

VB.NET自定義類型

2009-12-28 13:47:35

WPF對話框

2009-12-28 17:48:01

WPF界面布局

2010-02-24 14:59:52

WCF自定義過濾器

2009-08-04 08:58:01

C#自定義特性

2012-07-24 15:03:19

OpenStack架構

2013-05-30 15:53:17

iOS開發iOS SDKPopver

2009-12-29 13:29:28

WPF Depende

2009-08-28 17:45:19

C#自定義數據

2009-12-28 15:48:14

WPF窗口顏色

2017-02-17 09:37:12

Android自定義控件方法總結

2009-12-25 14:35:34

WPF布局

2009-08-04 12:56:51

C#自定義事件

2009-07-28 10:21:05

自定義Command

2009-12-29 10:22:34

WPF附加屬性

2009-12-23 18:06:25

WPF模板

2009-12-24 14:18:57

WPF類型轉換
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美在线观看视频 | 一区二区三区国产好 | 午夜在线电影网 | 国产精品美女久久久久久免费 | 精品久久久久久红码专区 | 国产精品无码久久久久 | 操久久| 黄色在线观看国产 | 国产欧美精品一区二区三区 | 久久99精品久久久久久噜噜 | 国产日韩欧美一区二区在线播放 | 久久人人爽人人爽人人片av免费 | 亚洲1区 | 国产精品久久久久久久久久久免费看 | 日日干天天操 | 亚洲视频欧美视频 | 国产免费一区二区三区 | 毛片com| 精品成人 | 久久成人av电影 | 日本精品视频在线 | 日韩欧美在线视频 | 亚洲色综合 | 日中文字幕在线 | 国内自拍视频在线观看 | 国产一区二区久久 | 久久久www成人免费精品 | 久久久久久亚洲 | 午夜影院在线观看 | 亚洲黄色视屏 | 国产精品1 | 国产成人精品综合 | 国产欧美精品 | 91欧美精品成人综合在线观看 | 91精品免费视频 | 久久久久久久97 | 超碰在线人人 | 国产高清视频一区 | 久草成人 | 久久久久久99 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 |