Bootstrap WPF Style,Bootstrap風格的WPF樣式

来源:http://www.cnblogs.com/tsliwei/archive/2016/12/06/6138412.html
-Advertisement-
Play Games

簡介 此樣式基於bootstrap-3.3.0,樣式文件里的源碼行數都是指的這個版本.CSS源文件放到了Content文件夾下的bootstrap.css WPF樣式和CSS還是不太相同,所以有些內容實現上稍有出入,有些內容用法不太一樣,有些內容並沒有實現 但至少,一些概念,尺寸和取色,還是很好的借 ...


簡介

此樣式基於bootstrap-3.3.0,樣式文件里的源碼行數都是指的這個版本.CSS源文件放到了Content文件夾下的bootstrap.css

WPF樣式和CSS還是不太相同,所以有些內容實現上稍有出入,有些內容用法不太一樣,有些內容並沒有實現

但至少,一些概念,尺寸和取色,還是很好的借鑒

博客說明按Bootstrap官方文檔的順序來寫

App.xaml里引用Bootstrap.xaml資源

1 <Application.Resources>
2     <ResourceDictionary>
3         <ResourceDictionary.MergedDictionaries>
4             <ResourceDictionary Source="pack://application:,,,/BootstrapWpfStyle;component/Styles/Bootstrap.xaml"/>
5         </ResourceDictionary.MergedDictionaries>
6     </ResourceDictionary>
7 </Application.Resources>

 

排版

標題

<Label>樣式 h1到h6

效果

代碼

1 <Label Content="h1. Bootstrap heading" Style="{DynamicResource h1}"></Label>
2 <Label Content="h2. Bootstrap heading" Style="{DynamicResource h2}"></Label>
3 <Label Content="h3. Bootstrap heading" Style="{DynamicResource h3}"></Label>
4 <Label Content="h4. Bootstrap heading" Style="{DynamicResource h4}"></Label>
5 <Label Content="h5. Bootstrap heading" Style="{DynamicResource h5}"></Label>
6 <Label Content="h6. Bootstrap heading" Style="{DynamicResource h6}"></Label>

 

副標題

<Label>樣式 h1 small到h6 small.使用時 和標題放到一個<StackPanel>里 方便對齊

效果

代碼

 1 <StackPanel Orientation="Horizontal">
 2     <Label Content="h1. Bootstrap heading" Style="{DynamicResource h1}"></Label>
 3     <Label Content="Secondary text" Style="{DynamicResource h1 small}"></Label>
 4 </StackPanel>
 5 <StackPanel Orientation="Horizontal">
 6     <Label Content="h2. Bootstrap heading" Style="{DynamicResource h2}"></Label>
 7     <Label Content="Secondary text" Style="{DynamicResource h2 small}"></Label>
 8 </StackPanel>
 9 <StackPanel Orientation="Horizontal">
10     <Label Content="h3. Bootstrap heading" Style="{DynamicResource h3}"></Label>
11     <Label Content="Secondary text" Style="{DynamicResource h3 small}"></Label>
12 </StackPanel>
13 <StackPanel Orientation="Horizontal">
14     <Label Content="h4. Bootstrap heading" Style="{DynamicResource h4}"></Label>
15     <Label Content="Secondary text" Style="{DynamicResource h4 small}"></Label>
16 </StackPanel>
17 <StackPanel Orientation="Horizontal">
18     <Label Content="h5. Bootstrap heading" Style="{DynamicResource h5}"></Label>
19     <Label Content="Secondary text" Style="{DynamicResource h5 small}"></Label>
20 </StackPanel>
21 <StackPanel Orientation="Horizontal">
22     <Label Content="h6. Bootstrap heading" Style="{DynamicResource h6}"></Label>
23     <Label Content="Secondary text" Style="{DynamicResource h6 small}"></Label>
24 </StackPanel>

代碼

內聯代碼

<Label>樣式 code.使用時 和其他<Label>放到一個<StackPanel>里

效果

代碼

1 <StackPanel Orientation="Horizontal">
2     <Label Content="內聯代碼:For example, "></Label>
3     <Label Content="&lt;section&gt;" Style="{DynamicResource code}"></Label>
4     <Label Content=" should be wrapped as inline."></Label>
5 </StackPanel>
用戶輸入

<Label>樣式 kbd.使用時 和其他<Label>放到一個<StackPanel>里

效果

代碼

1 <StackPanel Orientation="Horizontal">
2     <Label Content="用戶輸入:To edit settings, press "></Label>
3     <Label Content="ctrl + ," Style="{DynamicResource kbd}"></Label>
4 </StackPanel>
代碼塊

<Label>樣式 pre

效果

代碼

1 <Label xml:space="preserve" Style="{DynamicResource pre}">代碼塊:
2 Foreground:#333
3 Background:#f5f5f5
4 BorderBrush:#ccc</Label>
輔助文本

<Label>樣式 help-block.註:輔助文本在Bootstrap表單樣式里,原本的解釋:針對錶單控制項的“塊(block)”級輔助文本.我並沒有建一個表單窗體,所以就寫在了這裡

效果

代碼

1 <Label Content="輔助文本:上面為代碼塊" Style="{DynamicResource help-block}"></Label>

表格

<DataGrid>樣式 預設就這一組樣式,不用引用

效果

代碼

1 <DataGrid AutoGenerateColumns="False" DataContext="{Binding Source={StaticResource SampleDataSource}}" ItemsSource="{Binding Collection}">
2     <DataGrid.Columns>
3         <DataGridTextColumn Binding="{Binding Property1}" Header="Property1" ElementStyle="{StaticResource DataGridTextCenter}"/>
4         <DataGridTextColumn Binding="{Binding Property2}" Header="Property2" ElementStyle="{StaticResource DataGridTextCenter}"/>
5         <DataGridTextColumn Binding="{Binding Property3}" Header="Property3" ElementStyle="{StaticResource DataGridTextCenter}"/>
6     </DataGrid.Columns>
7 </DataGrid>

表單

WPF沒有表單的概念,所以說明就不按官方文檔的順序了

文本輸入框

<TextBox>樣式 控制項尺寸只支持預設樣式

效果

代碼

1 <TextBox Text="TextBox"/>
2 <TextBox Text="TextBox IsReadOnly=True" IsReadOnly="True"/>
3 <TextBox Text="TextBox IsEnabled=False" IsEnabled="False"/>
4 <TextBox Text="TextBox has-success" Style="{StaticResource has-success}"/>
5 <TextBox Text="TextBox has-warning" Style="{StaticResource has-warning}"/>
6 <TextBox Text="TextBox has-error" Style="{StaticResource has-error}"/>
7 <TextBox Text="TextBox input-sm" Style="{StaticResource input-sm}"/>
8 <TextBox Text="TextBox input-lg" Style="{StaticResource input-lg}"/>
密碼框

<PasswordBox>樣式 控制項尺寸只支持預設樣式

效果

代碼

1 <PasswordBox Password="PasswordBox"/>
2 <PasswordBox Password="PasswordBox IsEnabled=False" IsEnabled="False"/>
3 <PasswordBox Password="PasswordBox has-success" Style="{StaticResource has-success}"/>
4 <PasswordBox Password="PasswordBox has-warning" Style="{StaticResource has-warning}"/>
5 <PasswordBox Password="PasswordBox has-error" Style="{StaticResource has-error}"/>
6 <PasswordBox Password="PasswordBox input-sm" Style="{StaticResource input-sm}"/>
7 <PasswordBox Password="PasswordBox input-lg" Style="{StaticResource input-lg}"/>
覆選框

<CheckBox>樣式 checkbox 和Bootstrap有些不同 自己寫的樣式

效果

代碼

1 <CheckBox Content="default"></CheckBox>
2 <CheckBox Content="checkbox has-success" Style="{DynamicResource checkbox has-success}" IsChecked="{x:Null}"></CheckBox>
3 <CheckBox Content="checkbox has-warning" Style="{DynamicResource checkbox has-warning}" IsChecked="False"></CheckBox>
4 <CheckBox Content="checkbox has-error" Style="{DynamicResource checkbox has-error}" IsChecked="True"></CheckBox>
單選框

<RadioButton>樣式 radio 和Bootstrap有些不同 自己寫的樣式

效果

代碼

1 <RadioButton Content="default"></RadioButton>
2 <RadioButton Content="radio has-success" Style="{DynamicResource radio has-success}"></RadioButton>
3 <RadioButton Content="radio has-warning" Style="{DynamicResource radio has-warning}"></RadioButton>
4 <RadioButton Content="radio has-error" Style="{DynamicResource radio has-error}" IsChecked="True"></RadioButton>
下拉框

<ComboBox>樣式 預設就這一組樣式,不用引用 gif截圖的原因,看不到下拉

效果

代碼

 1 <ComboBox>
 2     <ComboBoxItem>蘋果</ComboBoxItem>
 3     <ComboBoxItem>橡膠</ComboBoxItem>
 4     <ComboBoxItem>桔子</ComboBoxItem>
 5 </ComboBox>
 6 <ComboBox IsEditable="True">
 7     <ComboBoxItem>蘋果</ComboBoxItem>
 8     <ComboBoxItem>橡膠</ComboBoxItem>
 9     <ComboBoxItem>桔子</ComboBoxItem>
10 </ComboBox>
11 <ComboBox IsEnabled="False">
12     <ComboBoxItem>蘋果</ComboBoxItem>
13     <ComboBoxItem>橡膠</ComboBoxItem>
14     <ComboBoxItem>桔子</ComboBoxItem>
15 </ComboBox>

按鈕

按鈕

<Button>樣式 btn

效果

代碼

1 <Button Content="default"></Button>
2 <Button Content="primary" Style="{DynamicResource btn-primary}"></Button>
3 <Button Content="success" Style="{DynamicResource btn-success}"></Button>
4 <Button Content="info" Style="{DynamicResource btn-info}"></Button>
5 <Button Content="warning" Style="{DynamicResource btn-warning}"></Button>
6 <Button Content="danger" Style="{DynamicResource btn-danger}"></Button>
切換按鈕

<ToggleButton>樣式 tbtn.Bootstrap中沒有切換按鈕,這裡做成和按鈕一樣,按下去的效果就是按鈕<Button>點擊的效果

效果

代碼

1 <ToggleButton Content="default"></ToggleButton>
2 <ToggleButton Content="primary" Style="{DynamicResource tbtn-primary}"></ToggleButton>
3 <ToggleButton Content="success" Style="{DynamicResource tbtn-success}"></ToggleButton>
4 <ToggleButton Content="info" Style="{DynamicResource tbtn-info}"></ToggleButton>
5 <ToggleButton Content="warning" Style="{DynamicResource tbtn-warning}"></ToggleButton>
6 <ToggleButton Content="danger" Style="{DynamicResource tbtn-danger}"></ToggleButton>

輔助類

Contextual colors

<Label>樣式 text 語境

效果

代碼

1 <Label Content="text-muted:提示,使用淺灰色" Style="{DynamicResource text-muted}"></Label>
2 <Label Content="text-primary:主要,使用藍色" Style="{DynamicResource text-primary}"></Label>
3 <Label Content="text-success:成功,使用淺綠色" Style="{DynamicResource text-success}"></Label>
4 <Label Content="text-info:通知信息,使用淺藍色" Style="{DynamicResource text-info}"></Label>
5 <Label Content="text-warning:警告,使用黃色" Style="{DynamicResource text-warning}"></Label>
6 <Label Content="text-danger:危險,使用褐色" Style="{DynamicResource text-danger}"></Label>
Contextual backgrounds

<Label>樣式 text bg 語境

效果

代碼

1 <Label Content="text bg-primary:主要,使用藍色,Foreground使用白色" Style="{DynamicResource text bg-primary}"></Label>
2 <Label Content="text bg-success:成功,使用淺綠色" Style="{DynamicResource text bg-success}"></Label>
3 <Label Content="text bg-info:通知信息,使用淺藍色" Style="{DynamicResource text bg-info}"></Label>
4 <Label Content="text bg-warning:警告,使用黃色" Style="{DynamicResource text bg-warning}"></Label>
5 <Label Content="text bg-danger:危險,使用褐色" Style="{DynamicResource text bg-danger}"></Label>

輸入框組

插件

<TextBox>樣式 input-group-addon 輸入框裡帶個<Label>,其實並不是插件,addon這個單詞,使用百度翻譯,翻譯成插件.<Label>里顯示的內容綁定到Tag屬性

效果

代碼

1 <TextBox Text="左邊帶插件的輸入組" Tag="@" Style="{DynamicResource input-group-addon left}"></TextBox>
2 <TextBox Text="右邊帶插件的輸入組" Tag=".00" Style="{DynamicResource input-group-addon right}"></TextBox>
作為額外元素的按鈕

<TextBox>樣式 input-group-btn 輸入框裡帶個<Button>,<Button>里顯示的內容綁定到Tag屬性

效果

代碼

 1 xmal代碼:
 2 <TextBox Text="左邊帶按鈕的輸入組" Tag="GO!" Style="{DynamicResource input-group-btn left}" Button.Click="InputGroupButton_Click"></TextBox>
 3 <TextBox Text="右邊帶按鈕的輸入組" Style="{DynamicResource input-group-btn right}" Button.Click="InputGroupButton_Click">
 4     <TextBox.Tag>
 5         <Path Style="{DynamicResource InputGroupPathStyle}" Data="{DynamicResource PathDataSearch}"></Path>
 6     </TextBox.Tag>
 7 </TextBox>
 8 
 9 後臺代碼C#:
10 private void InputGroupButton_Click(object sender, RoutedEventArgs e)
11 {
12     MessageBox.Show(((TextBox)sender).Text);
13 }

進度條

<ProgressBar>樣式 progress-bar

效果

代碼

1 <ProgressBar Value="20" Style="{DynamicResource progress-bar}"></ProgressBar>
2 <ProgressBar Value="40" Style="{DynamicResource progress-bar-success}"></ProgressBar>
3 <ProgressBar Value="60" Style="{DynamicResource progress-bar-info}"></ProgressBar>
4 <ProgressBar Value="80" Style="{DynamicResource progress-bar-warning}"></ProgressBar>
5 <ProgressBar Value="100" Style="{DynamicResource progress-bar-danger}"></ProgressBar>

面板

<ContentControl>樣式 panel

基本實例

效果

代碼

1 <ContentControl Style="{StaticResource panel-default}">
2     <ContentControl Style="{StaticResource panel-body}" Content="內容 Padding=15"/>
3 </ContentControl>
帶標題的面版

效果

代碼

1 <ContentControl Style="{StaticResource panel-default}">
2     <StackPanel>
3         <ContentControl Style="{StaticResource panel-heading-default}" Content="標題 Padding=15,10"/>
4         <ContentControl Style="{StaticResource panel-body}" Content="內容"/>
5     </StackPanel>
6 </ContentControl>
帶腳註的面版

效果

代碼

1 <ContentControl Style="{StaticResource panel-default}">
2     <StackPanel>
3         <ContentControl Style="{StaticResource panel-body}" Content="內容"/>
4         <ContentControl Style="{StaticResource panel-footer-default}
              
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文出處:http://www.cnblogs.com/wy123/p/6129498.html 因工作需要,處理一批文件,本想寫C#來處理的,後來想想這個是PowerShell的天職,索性就網上各種搜,各種Demo,各種修改,花了半天時間,最後還是拼湊出來能達到效果了。本身對PowerShell並 ...
  • Kconfig是我們進行內核配置的關鍵文件,用於生成menuconfig的界面並生成最終確定編譯選項的 文件。關於Kconfig文件的編寫規則,在 有詳盡的敘述。這裡主要用實例進行語法分析。 config 確定了條目前面是否有選項,menuconfig界面中的條目中一共有3種主動選項,分別是 ,`` ...
  • 今天想安裝一個博客客戶端,結果安裝一直報錯“OnCatalogResult:0x80190194”,百度查到瞭解決發放再此記錄下來,以備後用。 到官網下載了一個線上安裝程式,可是一運行就提示無法安裝,顯式錯誤“OnCatalogResult:0x80190194”,如下圖所示 找到windows l ...
  • 不看廢話,直接跳到操作說明 前幾日心血來潮想把家中的舊筆記本換成Linux操作系統,算是在業餘生活中正式投入Linux的懷抱。說乾就乾,發行版選擇了Ubuntu,下載了Ubuntu16.04的ISO,下載軟碟通,製作成U盤啟動。恩,重啟電腦,U盤引導,進入安裝界面。 恩,安裝界面挺炫酷啊,還檢測到硬 ...
  • yum install pcre* yum install openssl* yum install zlib yum install zlib-devel yum install wget 查看是否已經安裝好 rpm -qa | grep "查看的內容" 2.開始安裝nginx wget http ...
  • ...
  • 關於英文對程式員的重要性,就不多說了!英語的學習,有很多,今天也不聊多,只聊英語單詞!關於單詞的記憶,找過很多方法,下載過很多軟體,後來...... ...
  • DateTime.Now.AddDays(10).ToShortDateString().ToString() addDays(整數) 一天前DateTime.Now.AddDays(-1).ToShortDateString().ToString() 一天後DateTime.Now.AddDays ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...