Time of Update: 2018-12-07
首先解決上一篇部落格未解決的問題。上次部落格中還有一種命令(BoundCommad)沒講到。命令源還是不變的。變得是:我們對命令源封裝成屬性:命令源ShowMessageCommand:代碼public class ShowMessageCommand { [Preview("CanExecute")] public void Execute(string message) { MessageBox.Show(message);
Time of Update: 2018-12-07
我們來實現一個最簡單的執行個體HelloCaliburn。首先我們要引入下面幾個.dllCaliburn.Core.dll Caliburn.Castle.dllCastle.MicroKernel.dllCaliburn.PresentationFramework.dll Microsoft.Practices.ServiceLocation.dll Castle.Windsor.dll 為了更好的瞭解Caliburn如何關聯View和Presenter(商務邏輯層相當於ViewModel)。
Time of Update: 2018-12-07
mso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋體;mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin">在WPFBugmso-ascii-theme-font:minor-latin;mso-fareast-font-family:宋體;mso-fareast-theme-font
Time of Update: 2018-12-07
目錄定義UML參與者樣本定義:裝飾者模式:動態給一個對象,增加一些額外的功能。 UML:這張UML圖中可以看出,Component是一個抽象出來的組件或介面,有了兩個類(ConcreteComponent和Decorator)實現了它。這裡可以看出Decorator可以產生 好幾個子類,這些子類的建立 不會影響到原來的ConcreteComponent類。耦合性降低了。 參與者:1、組件(Component)角色:就是裝飾器模式中公用方法的抽象類別或介面,在裝飾器模式結構圖的頂層。
Time of Update: 2018-12-07
VisualBrush做倒影我們先看下效果 我們用到的是一個Textbox,一個Rectangle。思路是:我們在Ractangle裡填充VisualBrush,並綁定Textbox.下面看代碼:<Grid> <TextBox Height="40" Margin="42,51,40,0" Name="textBox1" VerticalAlignment="Top" FontSize="24" /> <Rectangle Margin=
Time of Update: 2018-12-07
在WPF裡遇到綁定錯誤,一般我們在調試的時候,會在OutPut(輸出)視窗裡看到這些綁定錯誤資訊。於是我下面把這些錯誤資訊顯示出來。BindingErrorListener類public class BindingErrorListener:TraceListener { private Action<string> _logAction; public static void Listen(Action<string> logAction)
Time of Update: 2018-12-07
製作動畫路徑-PathPath中有個Date屬性,用來擷取或設定指定要繪製的形狀的 Geometry。所以我們畫一個圓來和一個橢圓路徑,是圓在橢圓路徑上移動,我們先畫個圓。<Ellipse x:Name="e1" Stroke="Black" Width="50" Height="50" Fill="Red" Margin="0,0,228,211"></Ellipse> 在畫一個路徑<Path x:Name="p1" Stroke="Blue">
Time of Update: 2018-12-07
WPF 樣式與資源二我們知道我們可以把控制項的樣式寫到Style裡面,直接套用就可以了。今天我們深入下,在ListBox裡實現圖片和文字的資源項。 這個就是我們今天要實現的。開啟Visual Studio,建立一個WPF應用程式。在表單上拖一個ListBox。<ListBox Height="184" HorizontalAlignment="Left" Margin="49,42,0,0" Name="listBox1" VerticalAlignment="Top" Width="38
Time of Update: 2018-12-07
我們都知道WPF的Transform有很多種,比如ScaleTransform,RotateTransform什麼的。而且從純粹的數學角度來講,這些Transform的組合,可以完全任何二維線性圖形變換。完全沒有必要自己再去寫一個。 但是純數學,總是純數學的。比如我想做這樣一個Transform,它總是把控制項擴大10個像素。目前沒有能直接做到這個效果的Transform。有人說直接把Width +
Time of Update: 2018-12-07
如何真懂的話。初中幾何就夠了。題目很簡單。在不明顯改變Geometry視覺效果的提前下,請簡化下列代碼。並簡述簡化後的代碼與原代碼有什麼不同?<StreamGeometry x:Key="SomeTexture">M0,2 L1,2 1,3 0,3 Z M1,1 L2,1 2,2 1,2 z M2,0 L3,0 3,1 2,1 Z M3,5 L4,5 4,6 3,6 Z M4,4 L5,4 5,5 4,5 Z M5,3 L6,3 6,4
Time of Update: 2018-12-07
目錄定義 UML 參與者 樣本定義:單例模式的意思就是只有一個執行個體。單例模式確保某一個類只有一個執行個體,而且自行執行個體化並向整個系統提供這個執行個體。這個類稱為單例類。 應用:每台電腦可以有若干個印表機,但只能有一個Printer Spooler,
Time of Update: 2018-12-07
上次講到資料範本的綁定(DataTemplate),今天在這基礎上我進行了延伸。下面我們把資料繫結到ObjectDataProvider上。ObjectDataProvider:封裝和建立可以用作繫結來源的對象。首先我們先設定一些資料。先看下結果圖吧。建立一個Data.cs類。我們在裡面建立6個類,看類圖吧。這裡League是哪個國家的隊,Division是這個國家隊有哪些地方隊組成,Team是某一個具體的隊。讓我們看下具體代碼:代碼 /// <summary> ///
Time of Update: 2018-12-07
用Blend做Visual Design,常常會遇到不知道如何往ListView裡放假資料的問題。這時提供一種方法。供大家參考。如果有更簡單的方法,也希望大家不吝賜教。 代碼如下:代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><Window xmlns="http://schemas.microsoft.com/winfx/2006
Time of Update: 2018-12-07
前言:我們知道WPF也有Command,比如內建的複製、粘貼、剪下、撤銷等。這裡要說的是Caliburn中的Command,它們有什麼區別和不同點呢?1、命令源我們首先建立一個ShowMessageCommand.cs類,和ShowTitleMessageCommand.cs類。分別寫上相應的命令方法。 [Command] public class ShowMessageCommand { [Preview("CanExecute")] public
Time of Update: 2018-12-07
在WPF中,所有的ItemsControl都可以將ItemsSource綁定到背景資料來源上。一般情況下,會將這個ItemsSource直接綁定到一個ObservableCollection上。比如我們要做一個旅遊線路選擇的介面。有兩個ComboBox用來選擇旅遊的出發地和目的地。假設Province類中有一個靜態列表包含了中國所有的省份名稱。一般就會把這兩個ComboBox的ItemsSource屬性直接綁定到這個省份列表上。但是這樣做有一個問題。雖然每個ComboBox都有自己的Items.
Time of Update: 2018-12-07
上次介紹了資料繫結到ListBox上,今天我們把資料繫結到TreeView,和Menu上。其實不同點在於DataTemplate。這次不是用DataTemplate了,而是用HierarchicalDataTemplate這是分層的資料範本,Hierarchical是分層的意思。DataTemplate是資料範本。這樣記容易記住吧。我們還是用上次的資料。我們來看.xaml代碼<Window.Resources> <ObjectDataProvider x:Key=
Time of Update: 2018-12-07
Uri可以載入如下位置的檔案或資源:當前程式集。所引用的程式集。相對於程式集的某個位置。應用程式的來源站點點。 1、Pack URI 方案使用“pack”作為它的方案,並且包含兩個組件:授權和路徑。 以下是 pack URI 的格式。pack://授權/路徑。為了訪問這些類型的檔案,WPF 支援兩種授權:application:/// 和 siteoforigin:///。Application:/// 授權標識在編譯時間已知的應用程式資料檔案,包括資源檔和內容檔案。 Siteoforigin:
Time of Update: 2018-12-07
目錄定義UML參與者樣本定義:定義一個建立對象的介面,但是讓子類來決定哪個類將被執行個體化。Factory 方法讓一個類執行個體化延遲到子類。UML:參與者:產品(Project)角色:定義一個產品的介面。具體產品(ConcreteProduct)角色: 實現這個產品角色介面的具體類。工廠(Factory)角色:定義一個介面,用來建立產品。具體工廠(ConcreteFactory)角色:實現工廠角色介面的具體類。 樣本代碼using System; namespace
Time of Update: 2018-12-07
今天去了趟北京圖書大廈。想去找找Inside SQL Server 2005 T-SQL Programming。這裡的分類還是很好的,很快就確認了,沒有我找的書。於是閑逛了起來,無意中,發現在一個分類與WPF毫無關係的地方,發現了幾本WPF的書,左右再沒有別的WPF書了。然後又轉了一會,又發現在另一個與WPF毫無關係的地方,也有幾本WPF的書。WPF書少得可憐,而且也是隨意地分類放著。給人一種強烈的,被邊緣化了的感覺。
Time of Update: 2018-12-07
目錄定義UML參與者樣本 定義:定義對象間的一種一對多的依賴關係,以便當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知並自動重新整理。 UML: 參與者:主題(Subject)角色:主題角色把所有對觀察考對象的引用儲存在一個聚集裡,每個主題都可以有任何數量的觀察者。主題提供一個介面,可以增加和刪除觀察者對象,主題角色又叫做被觀察者(Observable)角色。