WPF 自定義Metro Style窗體

2022-08-26 19:39:13 字數 1036 閱讀 7887

為了使wpf程式在不同版本的作業系統上保持一致的顯示效果,我們需要重寫wpf控制項樣式。這篇部落格將展示如何建立乙個metro style的wpf窗體。

首先先看一下最終窗體的效果圖,

通過截圖我們可以看出來這個窗體由兩部分組成,頂部為最小化和關閉按鈕,其他區域為窗體的顯示區域。請看下面的具體實現**,

metrowindow樣式:

新建乙個modernwindow類,

c#

public class modernwindow : window

private void modernwindow_loaded(object sender, routedeventargs e)

}private void closebutton_click(object sender, system.windows.routedeventargs e)

private void minbutton_click(object sender, system.windows.routedeventargs e)

/// /// 實現窗體移動

///

///

protected override void onmouseleftbuttondown(mousebuttoneventargs e)

}

現在我們就完成了metro style窗體了,現在對其進行應用。請看mainwindow實現:

xaml:

c#:

public partial class mainwindow : modernwindow

}

現在就完成了metro style窗體的製作。

自win8發布以來,越來越多的桌面應用開始實現metro樣式。現在也有很多wpf metroui庫,例如:我們可以根據專案的實際情況選擇現有的metro ui/control,當然也可以自己寫。

WPF 自定義面板

先上效果圖吧 實現自定義面板主要實現兩個方法 一 measureoverride 用於計算容器內部元素大小,這個很簡單,略過 二 arrangeoverride 用於計算容器內部元素位置和其他顯示方式,以下是實現上面布局的 protected override system.windows.size...

WPF 自定義屬性

做了乙個自定義控制項和乙個自定義grid,裡面的元素可以隨著繫結屬性變化 效果圖 一定滑塊 關鍵 1 自定義屬性 public class mygrid grid set private static object coercecolumncount dependencyobject element...

WPF 自定義視窗

window類繼承自contentcontrol類。可以通過設定windowstyle none 完全移除視窗框架,從而建立乙個可完全定製的視窗,但是有各種各樣的不方便,所以本文使用windowchrome.windowchrome來自定義視窗 自定義視窗 參考遇到的一些難纏問題 屬性作用 值all...