# 基础UI库(SKMC.UI)
统一资源,统一样式,统一字体,控件自定义。
## 基础说明
主要分类:Assets资源文件、Converters基础转换器、CustomControls自定义控件、Styles控件样式、Themes主题、ValidationRules校验规则资源。
### Colors.xaml
颜色资源文件,使用16进制颜色标签,作为后续画刷基础颜色,项目中可根据需求更改
```
#545454
#FF191C
#FCB000
#00F976
#00FF00
#5ADAE2
#0000FF
Green
Red
Yellow
#009647
#CD1315
#FCB000
#0091FF
#FCB000
#363BFF
Green
LightGreen
Blue
Red
Cyan
LightBlue
LightBlue
Gray
Olive
White
Green
Orange
LightGray
#50A0A0A0
Black
Green
Orange
Fuchsia
```
### Brushes.xaml
通用基础画刷,该资源作为全局通用画刷,不随主题切换变更,在XAML使用时需要注意目标控件是否需要跟随主题切换变更。SolidColorBrush固定画刷引用Colors.xaml资源内设定的Color
```
```
### Dark.xaml
深色主题资源文件对项目中部分/主要控件颜色设立动态颜色切换,比如:整体背景色、字体颜色、按钮颜色等。只区分主要颜色,其它颜色使用Brushes.xaml不跟随主题变更显示
```
#1E1E1E
#161616
#121212
#FCF3EC
#000000
#2D2D2D
#3C3C3C
#FFFFFF
#FFFFFF
#292929
#9C9C9C
#444
#848484
#FFFFFF
#9C9C9C
#808080
#3a3a3a
#FFFFFF
#333333
#00AFAF
#CCEAEC
#006D75
#00929D
```
### Light.xaml
浅色主题同上,深色主题与浅色主题切换时,需要保证两者画刷资源key相同且数量相同,切换主题本质上切换**Dark.xaml**和**Light.xaml**资源,若同一个画刷只存在其中一个主题文件中,在切换是会找不到对应**key**资源。
```
#FFFFFF
#E8F1FA
#DCDCDC
#FCF3EC
#FFFFFF
#FCE4D2
#FFFBF0
#333333
#1A1A1A
#F5F5F5
#666666
#FFFFFF
#7A7A7A
#1A1A1A
#666666
#A0A0A0
#C8C8C8
#1A1A1A
#CCCCCC
#00929D
#CCEAEC
#006D75
#00929D
```
## 使用方法
```
Styles/
|—— Border.xaml # Border 样式
|—— Button.xaml # Button 样式
|—— Calendar.xaml # Calendar 样式
|—— ComboBox.xaml # ComboBox 样式
|—— DataGrid.xaml # DataGrid 样式
|—— DatePicker.xaml # DatePicker 样式
|—— ListView.xaml # ListView 样式
|—— RadioButton.xaml # RadioButton 样式
|—— ScrollViewer.xaml # ScrollViewer 样式
|—— TapItem.xaml # TapItem 样式
|—— TextBlock.xaml # TextBlock 样式
|—— TextBox.xaml # TextBox 样式
└── ToggleButton.xaml # ToggleButton 样式
```
### 在XAML中使用
#### Border
- Border.Base
```
```
#### Button
- Button.Base
```
```
- Button.Primary
```
```
- Button.Secondary
```
```
- Button.WithIcon
```
xmlns:c="clr-namespace:SKMC.UI.CustomControls;assembly=SKMC.UI"
```
- Button.Debug
```
```
- Button.WindowControl
- Button.SimpleIcon
```
```
#### ComboBox
- ComboBox.Primary
```
```
#### DataGrid
- DataGrid.Primary
```
```
- DataGrid.EditingTextBox
```
```
#### DatePicker
- DatePicker.Primary
```
```
#### ListView
- ListView.Primary
```
```
#### RadioButton
- RadioButton.SystemMenu
```
xmlns:c="clr-namespace:SKMC.UI.CustomControls;assembly=SKMC.UI"
```
- RadioButton.Base
- RadioButton.Primary
```
```
#### ScrollViewer
- ScrollViewer.Default
```
```
#### TapItem
- TapItem.Primary
```
```
#### TextBlock
- TextBlock.Primary
```
```
#### TextBox
- TextBox.Primary
```
xmlns:c="clr-namespace:SKMC.UI.CustomControls;assembly=SKMC.UI"
```
- TextBox.SimpleWatermark
```
```
####
- ToggleButton.Base
- ToggleButton.Primary
- ToggleButton.SimpleLamp
```
```
- ToggleButton.SimpleLocker
```
```
- ToggleButton.ThemeSwitch
```
```
## 安装说明
1. 克隆或下载本项目
2. 可直接添加到目标项目使用
## 依赖项
- 纯手搓无非官方第三方依赖