├── WPF.Bootstrap ├── packages.config ├── Properties │ ├── Settings.settings │ ├── Settings.Designer.cs │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Themes │ ├── Default │ │ ├── Brush.xaml │ │ ├── Alert.xaml │ │ ├── TextBox.xaml │ │ ├── ProgressBar.xaml │ │ ├── RadioButton.xaml │ │ ├── ListBox.xaml │ │ ├── CheckBox.xaml │ │ ├── Dialog.xaml │ │ ├── Panel.xaml │ │ ├── TabControl.xaml │ │ ├── ScrollBar.xaml │ │ └── Button.xaml │ └── Default.xaml ├── Controls │ ├── Alert.cs │ ├── Dialog.cs │ └── BootstrapPanel.cs └── WPF.Bootstrap.csproj ├── WPF.Bootstrap.Demo ├── packages.config ├── App.config ├── Views │ ├── List.xaml.cs │ ├── Menu.xaml.cs │ ├── Text.xaml.cs │ ├── Panel.xaml.cs │ ├── Buttons.xaml.cs │ ├── ProgressBar.xaml │ ├── ProgressBar.xaml.cs │ ├── Menu.xaml │ ├── Buttons.xaml │ ├── Panel.xaml │ ├── List.xaml │ └── Text.xaml ├── Properties │ ├── Settings.settings │ ├── Settings.Designer.cs │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── App.xaml.cs ├── App.xaml ├── MainWindow.xaml.cs ├── MainWindow.xaml └── WPF.Bootstrap.Demo.csproj ├── WPF.Bootstrap.sln ├── .gitattributes ├── .gitignore └── LICENSE /WPF.Bootstrap/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/Views/List.xaml.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace WPF.Bootstrap.Demo.Views 3 | { 4 | public partial class List 5 | { 6 | public List() 7 | { 8 | InitializeComponent(); 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /WPF.Bootstrap/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace WPF.Bootstrap.Demo 10 | { 11 | /// 12 | /// App.xaml 的交互逻辑 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/Views/Menu.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace WPF.Bootstrap.Demo.Views 17 | { 18 | /// 19 | /// Interaction logic for Menu.xaml 20 | /// 21 | public partial class Menu : UserControl 22 | { 23 | public Menu() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/Views/Text.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace WPF.Bootstrap.Demo.Views 17 | { 18 | /// 19 | /// Interaction logic for Text.xaml 20 | /// 21 | public partial class Text : UserControl 22 | { 23 | public Text() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/Views/Panel.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace WPF.Bootstrap.Demo.Views 17 | { 18 | /// 19 | /// Interaction logic for Panel.xaml 20 | /// 21 | public partial class Panel : UserControl 22 | { 23 | public Panel() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/Views/Buttons.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace WPF.Bootstrap.Demo.Views 17 | { 18 | /// 19 | /// Interaction logic for Buttons.xaml 20 | /// 21 | public partial class Buttons : UserControl 22 | { 23 | public Buttons() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | using WPF.Bootstrap.Controls; 16 | 17 | namespace WPF.Bootstrap.Demo 18 | { 19 | /// 20 | /// MainWindow.xaml 的交互逻辑 21 | /// 22 | public partial class MainWindow 23 | { 24 | public MainWindow() 25 | { 26 | InitializeComponent(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/Views/ProgressBar.xaml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/Views/ProgressBar.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace WPF.Bootstrap.Demo.Views 17 | { 18 | /// 19 | /// Interaction logic for ProgressBar.xaml 20 | /// 21 | public partial class ProgressBar : UserControl 22 | { 23 | public ProgressBar() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/MainWindow.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /WPF.Bootstrap/Themes/Default/Brush.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /WPF.Bootstrap/Controls/Alert.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | 9 | namespace WPF.Bootstrap.Controls 10 | { 11 | public class Alert : ContentControl 12 | { 13 | static Alert() 14 | { 15 | DefaultStyleKeyProperty.OverrideMetadata(typeof(Alert), new FrameworkPropertyMetadata(typeof(Alert))); 16 | } 17 | 18 | public AlertType Type 19 | { 20 | get { return (AlertType)GetValue(TypeProperty); } 21 | set { SetValue(TypeProperty, value); } 22 | } 23 | 24 | // Using a DependencyProperty as the backing store for Type. This enables animation, styling, binding, etc... 25 | public static readonly DependencyProperty TypeProperty = 26 | DependencyProperty.Register("Type", typeof(AlertType), typeof(Alert), new PropertyMetadata(AlertType.Success)); 27 | } 28 | 29 | public enum AlertType 30 | { 31 | Success = 1, 32 | Info = 2, 33 | Warning = 3, 34 | Danger = 4 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /WPF.Bootstrap/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.0 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace WPF.Bootstrap.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.0 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace WPF.Bootstrap.Demo.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /WPF.Bootstrap/Themes/Default.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/Views/Menu.xaml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /WPF.Bootstrap.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.31101.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPF.Bootstrap", "WPF.Bootstrap\WPF.Bootstrap.csproj", "{734839C0-6FA8-4514-BD97-EABD72B35246}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPF.Bootstrap.Demo", "WPF.Bootstrap.Demo\WPF.Bootstrap.Demo.csproj", "{79E74C86-D72E-434E-A116-623322A59810}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {734839C0-6FA8-4514-BD97-EABD72B35246}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {734839C0-6FA8-4514-BD97-EABD72B35246}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {734839C0-6FA8-4514-BD97-EABD72B35246}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {734839C0-6FA8-4514-BD97-EABD72B35246}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {79E74C86-D72E-434E-A116-623322A59810}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {79E74C86-D72E-434E-A116-623322A59810}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {79E74C86-D72E-434E-A116-623322A59810}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {79E74C86-D72E-434E-A116-623322A59810}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Resources; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | using System.Windows; 6 | 7 | // 有关程序集的常规信息通过以下 8 | // 特性集控制。更改这些特性值可修改 9 | // 与程序集关联的信息。 10 | [assembly: AssemblyTitle("WPF.Bootstrap.Demo")] 11 | [assembly: AssemblyDescription("")] 12 | [assembly: AssemblyConfiguration("")] 13 | [assembly: AssemblyCompany("")] 14 | [assembly: AssemblyProduct("WPF.Bootstrap.Demo")] 15 | [assembly: AssemblyCopyright("Copyright © 2015")] 16 | [assembly: AssemblyTrademark("")] 17 | [assembly: AssemblyCulture("")] 18 | 19 | // 将 ComVisible 设置为 false 使此程序集中的类型 20 | // 对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型, 21 | // 则将该类型上的 ComVisible 特性设置为 true。 22 | [assembly: ComVisible(false)] 23 | 24 | //若要开始生成可本地化的应用程序,请在 25 | // 中的 .csproj 文件中 26 | //设置 CultureYouAreCodingWith。 例如,如果您在源文件中 27 | //使用的是美国英语,请将 设置为 en-US。 然后取消 28 | //对以下 NeutralResourceLanguage 特性的注释。 更新 29 | //以下行中的“en-US”以匹配项目文件中的 UICulture 设置。 30 | 31 | //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] 32 | 33 | 34 | [assembly: ThemeInfo( 35 | ResourceDictionaryLocation.None, //主题特定资源词典所处位置 36 | //(在页面或应用程序资源词典中 37 | // 未找到某个资源的情况下使用) 38 | ResourceDictionaryLocation.SourceAssembly //常规资源词典所处位置 39 | //(在页面、应用程序或任何主题特定资源词典中 40 | // 未找到某个资源的情况下使用) 41 | )] 42 | 43 | 44 | // 程序集的版本信息由下面四个值组成: 45 | // 46 | // 主版本 47 | // 次版本 48 | // 生成号 49 | // 修订号 50 | // 51 | // 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, 52 | // 方法是按如下所示使用“*”: 53 | // [assembly: AssemblyVersion("1.0.*")] 54 | [assembly: AssemblyVersion("1.0.0.0")] 55 | [assembly: AssemblyFileVersion("1.0.0.0")] 56 | -------------------------------------------------------------------------------- /WPF.Bootstrap/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Resources; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | using System.Windows; 6 | using System.Windows.Markup; 7 | 8 | // 有关程序集的常规信息通过以下 9 | // 特性集控制。更改这些特性值可修改 10 | // 与程序集关联的信息。 11 | [assembly: AssemblyTitle("WPF.Bootstrap")] 12 | [assembly: AssemblyDescription("")] 13 | [assembly: AssemblyConfiguration("")] 14 | [assembly: AssemblyCompany("")] 15 | [assembly: AssemblyProduct("WPF.Bootstrap")] 16 | [assembly: AssemblyCopyright("Copyright © 2015")] 17 | [assembly: AssemblyTrademark("")] 18 | [assembly: AssemblyCulture("")] 19 | 20 | // 将 ComVisible 设置为 false 使此程序集中的类型 21 | // 对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型, 22 | // 则将该类型上的 ComVisible 特性设置为 true。 23 | [assembly: ComVisible(false)] 24 | 25 | //若要开始生成可本地化的应用程序,请在 26 | // 中的 .csproj 文件中 27 | //设置 CultureYouAreCodingWith。 例如,如果您在源文件中 28 | //使用的是美国英语,请将 设置为 en-US。 然后取消 29 | //对以下 NeutralResourceLanguage 特性的注释。 更新 30 | //以下行中的“en-US”以匹配项目文件中的 UICulture 设置。 31 | 32 | //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] 33 | 34 | 35 | [assembly: ThemeInfo( 36 | ResourceDictionaryLocation.None, //主题特定资源词典所处位置 37 | //(在页面或应用程序资源词典中 38 | // 未找到某个资源的情况下使用) 39 | ResourceDictionaryLocation.SourceAssembly //常规资源词典所处位置 40 | //(在页面、应用程序或任何主题特定资源词典中 41 | // 未找到某个资源的情况下使用) 42 | )] 43 | 44 | 45 | // 程序集的版本信息由下面四个值组成: 46 | // 47 | // 主版本 48 | // 次版本 49 | // 生成号 50 | // 修订号 51 | // 52 | // 可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, 53 | // 方法是按如下所示使用“*”: 54 | // [assembly: AssemblyVersion("1.0.*")] 55 | [assembly: AssemblyVersion("0.0.0.1")] 56 | [assembly: AssemblyFileVersion("0.0.0.1")] 57 | 58 | [assembly: XmlnsDefinition("http://github.com/scheshan/bootstrap", "WPF.Bootstrap.Controls")] -------------------------------------------------------------------------------- /WPF.Bootstrap/Themes/Default/Alert.xaml: -------------------------------------------------------------------------------- 1 | 4 | 41 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /WPF.Bootstrap/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本: 4.0.30319.0 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace WPF.Bootstrap.Properties 12 | { 13 | 14 | 15 | /// 16 | /// 一个强类型的资源类,用于查找本地化的字符串等。 17 | /// 18 | // 此类是由 StronglyTypedResourceBuilder 19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 20 | // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen 21 | // (以 /str 作为命令选项),或重新生成 VS 项目。 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// 返回此类使用的、缓存的 ResourceManager 实例。 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WPF.Bootstrap.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// 为所有资源查找重写当前线程的 CurrentUICulture 属性, 56 | /// 方法是使用此强类型资源类。 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本: 4.0.30319.0 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace WPF.Bootstrap.Demo.Properties 12 | { 13 | 14 | 15 | /// 16 | /// 一个强类型的资源类,用于查找本地化的字符串等。 17 | /// 18 | // 此类是由 StronglyTypedResourceBuilder 19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 20 | // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen 21 | // (以 /str 作为命令选项),或重新生成 VS 项目。 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources 26 | { 27 | 28 | private static global::System.Resources.ResourceManager resourceMan; 29 | 30 | private static global::System.Globalization.CultureInfo resourceCulture; 31 | 32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 33 | internal Resources() 34 | { 35 | } 36 | 37 | /// 38 | /// 返回此类使用的、缓存的 ResourceManager 实例。 39 | /// 40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 41 | internal static global::System.Resources.ResourceManager ResourceManager 42 | { 43 | get 44 | { 45 | if ((resourceMan == null)) 46 | { 47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WPF.Bootstrap.Demo.Properties.Resources", typeof(Resources).Assembly); 48 | resourceMan = temp; 49 | } 50 | return resourceMan; 51 | } 52 | } 53 | 54 | /// 55 | /// 为所有资源查找重写当前线程的 CurrentUICulture 属性, 56 | /// 方法是使用此强类型资源类。 57 | /// 58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 59 | internal static global::System.Globalization.CultureInfo Culture 60 | { 61 | get 62 | { 63 | return resourceCulture; 64 | } 65 | set 66 | { 67 | resourceCulture = value; 68 | } 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /WPF.Bootstrap/Themes/Default/TextBox.xaml: -------------------------------------------------------------------------------- 1 | 3 | 43 | -------------------------------------------------------------------------------- /WPF.Bootstrap/Themes/Default/ProgressBar.xaml: -------------------------------------------------------------------------------- 1 | 3 | 46 | -------------------------------------------------------------------------------- /WPF.Bootstrap/Controls/Dialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | 9 | namespace WPF.Bootstrap.Controls 10 | { 11 | [TemplatePart(Name = PART_MaxButton, Type = typeof(Button))] 12 | [TemplatePart(Name = PART_MinButton, Type = typeof(Button))] 13 | [TemplatePart(Name = PART_RestoreButton, Type = typeof(Button))] 14 | [TemplatePart(Name = PART_CloseButton, Type = typeof(Button))] 15 | public class Dialog : Window 16 | { 17 | private const string PART_MaxButton = "PART_MaxButton"; 18 | private const string PART_MinButton = "PART_MinButton"; 19 | private const string PART_RestoreButton = "PART_RestoreButton"; 20 | private const string PART_CloseButton = "PART_CloseButton"; 21 | 22 | static Dialog() 23 | { 24 | DefaultStyleKeyProperty.OverrideMetadata(typeof(Dialog), new FrameworkPropertyMetadata(typeof(Dialog))); 25 | } 26 | 27 | private Button btnMax; 28 | private Button btnMin; 29 | private Button btnRestore; 30 | private Button btnClose; 31 | 32 | public Dialog() 33 | { 34 | this.SetResourceReference(StyleProperty, typeof(Dialog)); 35 | } 36 | 37 | public override void OnApplyTemplate() 38 | { 39 | base.OnApplyTemplate(); 40 | 41 | this.btnMax = this.GetTemplateChild(PART_MaxButton) as Button; 42 | this.btnMin = this.GetTemplateChild(PART_MinButton) as Button; 43 | this.btnRestore = this.GetTemplateChild(PART_RestoreButton) as Button; 44 | this.btnClose = this.GetTemplateChild(PART_CloseButton) as Button; 45 | 46 | if (this.btnMax != null) 47 | { 48 | this.btnMax.Click += btnMax_Click; 49 | } 50 | if (this.btnMin != null) 51 | { 52 | this.btnMin.Click += btnMin_Click; 53 | } 54 | if (this.btnRestore != null) 55 | { 56 | this.btnRestore.Click += btnRestore_Click; 57 | } 58 | if (this.btnClose != null) 59 | { 60 | this.btnClose.Click += btnClose_Click; 61 | } 62 | } 63 | 64 | void btnClose_Click(object sender, RoutedEventArgs e) 65 | { 66 | this.Close(); 67 | } 68 | 69 | void btnRestore_Click(object sender, RoutedEventArgs e) 70 | { 71 | this.WindowState = System.Windows.WindowState.Normal; 72 | } 73 | 74 | void btnMin_Click(object sender, RoutedEventArgs e) 75 | { 76 | this.WindowState = System.Windows.WindowState.Minimized; 77 | } 78 | 79 | void btnMax_Click(object sender, RoutedEventArgs e) 80 | { 81 | this.WindowState = WindowState.Maximized; 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /WPF.Bootstrap/Themes/Default/RadioButton.xaml: -------------------------------------------------------------------------------- 1 | 3 | 50 | -------------------------------------------------------------------------------- /WPF.Bootstrap/Themes/Default/ListBox.xaml: -------------------------------------------------------------------------------- 1 | 3 | 38 | 53 | -------------------------------------------------------------------------------- /WPF.Bootstrap.Demo/Views/Buttons.xaml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 |