I would check out XAML Styler, which is a Visual Studio extension to help format your XAML source code (full disclosure, I am one of the owners on the project). Visual Studio 上で XAML の改行を美しく整形してくれる拡張プラグイン「XAML Styler」は Visual Studio 2012 までしか対応していません・・・ しかし、とある方が Visual Studio 2013 にインストールできるようにしたバイナリを作ってくれたようです Nico's … Extension for Visual Studio - "XAML Styler" is a visual studio 2012 extension, which makes XAML markup source code beautify much easier by sorting the attributes based on their importance. Project Description"XAML Markup Styler" is a xaml beautifer, which makes XAML markup source code beautify much easier by sorting the attributes based on their importance.This tool can help you/your team maintain a better XAML coding style as well as a much better XAML readability.

ENHANCEMENT: Fix the text become selected from last cursor, to the end of the file, after beautify. Edit: Forgot to mention that Visual Studio does not have a very rich set of XAML formatting capabilities on its own.


Define your own attribute line break rules, Automatically reformat Xaml file on saving. StaticResource not found for key RedLabel),就算參考了 BlueLabel 樣式,也是會一樣發生例外異常錯誤。, 更多關於 Xamarin / Xamarin.Forms 教學、技術分享、用法文章,請參考 I ♥ Xamarin​, Xamarin.Forms / .NET Standard 體驗之旅 6 : 多國語言功能設計 - 使用 Multilingual App Toolkit v4.0 (VS 2017), Xamarin.Forms 的頁面導航 Page Navigation 之有無強制回應 Modal 對話窗和導航工具列 NavigationPage 的體驗, Prism for Xamarin.Forms 7.0 的相依性服務注入修正與使用說明, Xamarin.Forms / .NET Standard 體驗之旅 5 : 彈出頁面 Prism.Plugin.Popups, 在 Visual Studio for Android Emulator 6.0 模擬器上安裝 Google Play Services, Xamarin.Forms / .NET Standard 體驗之旅 4 : QR Code 條碼掃描, Xamarin.Forms / .NET Standard 體驗之旅 3 : 使用 PCLStorage 元件進行檔案的讀取與寫入, Xamarin.Forms / .NET Standard 體驗之旅 2 : 使用 Acr.UserDialogs 元件, Xamarin.Forms 用 MVVM 開發的好處?
在專案中加入PresentationFramework.Aero 參考. XAML Styler is a visual studio extension that formats XAML source code based on a set of styling rules. Indent Xaml markup based on "Tab Size/Indent Size/Indent Charater" settings available in "Option/Text Editor/XAML/Tabs" page. (Issue: 564), NEW FEATURE: Element ordering option (Issue: 474).

Sort attributes based on following rules: Special characters(e.g., &) are preserved. 將在主程式xaml中style設定copy至style.xaml. Respect the built-in "Position first attribute on the same line as start tag", Elements no line break between attributes, Add default shortcut key "Ctrl+K, Ctrl+2", Grid or Canvas related attached layout attributes, HorizontalAlignment/ContentHorizontalAlignment, VerticalAlignment/ContentVerticalAlignment. Respect "significant" whitespace situation. When an element contains 2 or less than 2 attributes, line break is not applied for better readability. Your  suggestions  are most welcome, and  donate , if you love this add on. ENHANCEMENT: Updated unit test for Markup Extension Handling accordingly.

NEW FEATURE: Capability to collapse empty tags, e.g., => . ENHANCEMENT: The customized attribute sorting option does not take effect after change. ENHANCEMENT: Fix incorrect sort of "Property" and "Value" in Setter element. WPF為了改善這樣的情況,提出了Style來讓控件中相同的屬性只要設定一次就好。 Style顧名思義就是控件的風格,像上面代碼中的四個Button都有相同的大小、顏色,我們就可以說它們具有相同的風格。在WPF我們可以把那四個Button的Style定義成這樣: ENHANCEMENT: Fix unwanted space before closing bracket of element beginning.

如在style.xaml中有以下代碼 於C#檔中寫以下代碼 ENHANCEMENT: Fix formatting error when handling nested Markup Extension as contructor value. ENHANCEMENT: Convert to Visual Studio 2012, NEW FEATURE: Ability to define preferred attribute order priority - from Jurev (Issue: 224), NEW FEATURE: Option to automagically style on save (Issue: 364), ENHANCEMENT: SL Some behaviors will change based on parameters order (Issue: 536), ENHANCEMENT: Fix "Elements no line break between attributes" gets back default value after VS2010 restarted - from Manuel (Issue: 339), NEW FEATURE: Suggested Feature "Import Export Settings" (Issue: 373), ENHANCEMENT: Fix Binding with complex StringFormat incorrectly formatted. 新建一個ResourceDictionary檔,名為style.xaml. 在這個 XAML 範例中,展示了:隱含樣式、明確樣式、繼承樣式、合併樣式的使用方式。 若想要讓某個控制項套用明確樣式,可以使用 Style 屬性值來指定要套用的明確樣式。 最後,定義了一個按鈕,將會顯示另外一個頁面 Main2Page To solve your question definitely need to use the Style and Template for the Button.But how exactly does he look like? Align subsequence attribute with first attribute vertically when "Position first attribute on the same line of first tag" is enabled.

XAML Styler. 那些 Android SDK 套件需要使用 Android SDK Manager 來安裝呢? This tool can help you/your team maintain a better XAML coding style as well as a much better XAML readability. 歡迎加入 Xamarin 實驗室 粉絲團,在這裡,將會經常性的貼出各種關於 Xamarin / Visual Studio / .NET 的相關消息、文章、技術開發等文件,讓您可以隨時掌握第一手的 Xamarin 方面消息。, 歡迎加入 Xamarin.Forms @ Taiwan,這是台灣的 Xamarin User Group,若您有任何關於 Xamarin / Visual Studio / .NET 上的問題,都可以在這裡來與各方高手來進行討論、交流。, ​Xamarin 實驗室 部落格 是作者本身的部落格,這個部落格將會專注於 Xamarin 之跨平台 (Android / iOS / UWP) 方面的各類開技術探討、研究與分享的文章,最重要的是,它是全繁體中文。, ​Xamarin.Forms 系列課程 想要快速進入到 Xamarin.Forms 的開發領域,學會各種 Xamarin.Forms 跨平台開發技術,例如:MVVM、Prism、Data Binding、各種 頁面 Page / 版面配置 Layout / 控制項 Control 的用法等等,千萬不要錯過這些 Xamarin.Forms 課程, ​https://github.com/vulcanlee/xamarin-forms-develop-notes-example/tree/master/MergedDict​, 在 XAML 裡面,使用資源字典可以定義各種不同的 styles, control templates, data templates, colors, and converters, 您可以在 Application, Page, View 等等項目內,指定資源字典內容;, 若您在 Application 類別內指定定義的資源字典項目,則這些項目是可以再全部的應用程式中使用,不過,那會有例外,那就是資源字典的合併機制。, 若您在 Page 這類類別中指定定義的資源字典項目,則這些項目是可以在這個頁面中來使用, 若您在某個 檢視控制項 View 或者 版面配置 Layout 中 指定定義的資源字典項目,則這些項目是可以在這個項目與其子項目內使用, 只要在 App.xaml 檔案內使用 ResourceDictionary 定義的樣式,都可以在應用程式內使用,在這個範例專案內,App.xaml 檔案內容如下所示:, 在這個 App.xaml 檔案內,定義了一個 PinkLabel 的樣式,另外,也使用了 OnPlatform 功能,依據當時執行的不同平台,定義了一個顏色與 Double 的資源值;接著,定義了一個 MyTitleLabel 樣式,其中這個樣式的 TextColor & FontSize 這兩個屬性值,是由剛剛定義的資源值來取代。也就是說,當應用程式有套用了 MyTitleLabel 樣式的頁面,在不同的行動平台下執行( Android, iOS, UWP),這個樣式所表現出來的視覺效果是不一樣的。, 以上資源定義都可以在整個應用程式內使用,不過,在 ResourceDictionary 項目 (Element) 有使用一個屬性 MergedWith,其可以把其他定義的資源合併到這個 ResourceDictionary 下來使用。, 不過,當在 App.xaml 下使用了 MergedWith 屬性,僅能夠在這個 App.xaml 下有效,但是整個應用程式是看不到使用 MergedWith 內合併進來的資源定義;關於 MergedWith 的應用,可以在頁面上來說明,就會更加清楚。, 在這個專案內的資源夾 Themes 內,產生了三個獨立資源字典資源定義檔案 BlueTheme.xaml, GreenTheme.xaml, RedTheme.xaml。這三個檔案分別定義了, 一個隱含樣式 (Implicit Styles),定義了所有 Label 檢視的文字顏色,字體大小為 24。所謂的隱含樣式,就是這個應用程式內所有的 Label 檢視,都會使用這個隱含樣式的屬性設定來呈現。, 一個明確樣式 (Explicit Styles),其代表名稱定義在 x:Key 內,這個明確樣式定義了字體顏色與字體大小為24。明確樣式則是當 Label 檢視有定義需要使用這個樣式,其檢視才會使用這個樣式定義的屬性來呈現。, 這個頁面的根項目為 ContentPage,並且有定義資源字典;其分別定義了一個明確樣式 GrayLabel,不過,在這個明確樣式的所有定義內容,是根據另外一個明確樣式 BlueLabel 繼承而來。, 而明確樣式 LabelBlue,其為在 ResourceDictionary 內,使用了屬性 MergedWith 合併了 themes:BlueTheme 資源字典內容。, 因為這裡合併了 themes:BlueTheme 資源字典,所以,在這個頁面下的所有子項目,都可以使用 themes:BlueTheme 資源字典內定義的所有樣式,例如,這裡使用了 BlueLabel 樣式。, 在 ContentPage 內的 ResourceDictionary 內,有個註解說明,若您將 內容註解解除,那麼,Label 的隱含樣式將會使用原來 Xamarin.Forms 內建的樣式,並不會採用剛剛合併進來的隱含樣式定義,也就是說,若要覆蓋隱含樣式定義,合併進來的隱含樣式定義,不會影響這次定義。, 在這個 XAML 範例中,展示了:隱含樣式、明確樣式、繼承樣式、合併樣式的使用方式。, 若想要讓某個控制項套用明確樣式,可以使用 Style 屬性值來指定要套用的明確樣式。, 當顯示了這個 Main2Page 頁面,所有在剛剛 MainPage 頁面中的定義樣式,將不會影響到這個 Main2Page 頁面;在 Main2Page 頁面,只有定義在 App.xaml 內的全域的樣式,才可以在這個 Main2Page頁面內使用。, 在 ContentPage 項目內的 ResourceDictionary 有註解一段 XAML 樣式定義,若您解除這段樣式註解,將會在執行時其發生例外異常錯誤,會產生這樣的錯誤,是因為明確樣式 RedLabel 在這裡無法被參考到 (Xamarin.Forms.Xaml.XamlParseException: Position 16:14. (Issue: 463), ENHANCEMENT: Fix Cannot parse markup extension bug (Issue: 456), ENHANCEMENT: Fix Style the MultiTrigger.Conditions as the Trigger (Issue: 360), ENHANCEMENT: Fix Numeric character mappings are encoded incorrectly in attributes after format. StaticResource not found for key RedLabel,