# WPFDevelopers.Minimal **Repository Path**: dcxin/WPFDevelopers.Minimal ## Basic Information - **Project Name**: WPFDevelopers.Minimal - **Description**: 这是一款WPF基础控件,欢迎使用 - **Primary Language**: C# - **License**: MIT - **Default Branch**: main - **Homepage**: https://gitee.com/WPFDevelopersOrg - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 27 - **Created**: 2022-02-20 - **Last Updated**: 2022-02-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
## Welcome to WPFDevelopers.Minimal ![.net >= 4.0](https://img.shields.io/badge/.net-%3E%3D4.0-blue) ![Visual Studio 2019](https://img.shields.io/badge/Visual%20Studio%20-2019-blueviolet) nuget-version WPF开发者 ### [自定义高级控件](https://github.com/WPFDevelopersOrg/WPFDevelopers) https://github.com/WPFDevelopersOrg/WPFDevelopers ### [码云](https://gitee.com/WPFDevelopersOrg) https://gitee.com/WPFDevelopersOrg ### 欢迎关注微信公众号 ### 捐助 如果您觉得我们的开源软件对你有所帮助,请扫下方二维码打赏我们一杯咖啡。 | 支付宝 | 微信 | |----|-----| | | | ### .Net Version | .Net Version | Status | | ---- | ---- | | Net40 | ✅ | | net45 | ✅ | | net46 | ✅ | | net47 | ✅ | | net48 | ✅ | | netcoreapp3.0 | ✅ | | net5.0-windows | ✅ | ### 效果展示 ![0](https://raw.githubusercontent.com/WPFDevelopersOrg/ResourcesCache/main/resources/WPFDevelopers.Minimal/0.png) ### 第一步: 添加 nuget; ``` Install-Package WPFDevelopers.Minimal ``` ### 第二步: App.xaml中增加节点: ``` XML ``` ### 第三步:添加命名空间: `xmlns:ws="https://github.com/WPFDevelopersOrg.WPFDevelopers.Minimal"` ### 如何方法 [数据源](#数据源) [Window](#Window) [MessageBox](#MessageBox) [Menu|ContextMenu](#Menu|ContextMenu) [Button](#Button) [RadioButton](#RadioButton) [Checkbox](#Checkbox) [TextBox](#TextBox) [PasswordBox](#PasswordBox) [ComboBox](#ComboBox) [ToggleButton](#ToggleButton) [DatePicker](#DatePicker) [Slider](#Slider) [ProgressBar](#ProgressBar) [DataGrid](#DataGrid) [ListBox](#ListBox) [ListView](#ListView) [TreeView](#TreeView) [Expander](#Expander) [GroupBox](#GroupBox) [TabControl](#TabControl) ### 数据源 1)数据源 ``` C# using System; using System.Collections.ObjectModel; using System.Linq; using System.Windows; using WPFDevelopers.Minimal.Sample.Models; namespace WPFDevelopers.Minimal.Sample.ExampleViews { public partial class MainView : WPFDevelopers.Minimal.Net40.Window { #region DataSource public ObservableCollection UserCollection { get { return (ObservableCollection)GetValue(UserCollectionProperty); } set { SetValue(UserCollectionProperty, value); } } public static readonly DependencyProperty UserCollectionProperty = DependencyProperty.Register("UserCollection", typeof(ObservableCollection), typeof(MainView), new PropertyMetadata(null)); public bool AllSelected { get { return (bool)GetValue(AllSelectedProperty); } set { SetValue(AllSelectedProperty, value); } } public static readonly DependencyProperty AllSelectedProperty = DependencyProperty.Register("AllSelected", typeof(bool), typeof(MainView), new PropertyMetadata(AllSelectedChangedCallback)); private static void AllSelectedChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e) { var view = d as MainView; var isChecked = (bool)e.NewValue; if ((bool)e.NewValue) view.UserCollection.ToList().ForEach(y => y.IsChecked = isChecked); else view.UserCollection.ToList().ForEach(y => y.IsChecked = isChecked); } #endregion public MainView() { InitializeComponent(); this.Loaded += MainView_Loaded; } private void MainView_Loaded(object sender, RoutedEventArgs e) { var time = DateTime.Now; UserCollection = new ObservableCollection(); for (int i = 0; i < 4; i++) { UserCollection.Add(new UserModel { Date = time, Name = "WPFDevelopers", Address = "No. 189, Grove St, Los Angeles", Children = new System.Collections.Generic.List() { new UserModel { Name= "WPFDevelopers.Minimal1.1" }, new UserModel { Name = "WPFDevelopers.Minimal1.2" }, new UserModel { Name = "WPFDevelopers.Minimal1.3" }, new UserModel { Name= "WPFDevelopers.Minimal1.4" }, new UserModel { Name = "WPFDevelopers.Minimal1.5" }, new UserModel { Name = "WPFDevelopers.Minimal1.6" }, } }); time = time.AddDays(2); } } } } ``` ### Window 1)XAML ``` XML ws:Window x:Class="WpfApp.MainWindow" ``` 2)去除.cs文件中的继承 ``` C# public partial class MainWindow ``` ![Window](https://raw.githubusercontent.com/WPFDevelopersOrg/ResourcesCache/main/resources/WPFDevelopers.Minimal/Window.png) ### MessageBox 1).cs 使用如下 ``` C# WPFDevelopers.Minimal.Controls.MessageBox.Show("文件删除成功。", "消息",MessageBoxButton.OK,MessageBoxImage.Information); WPFDevelopers.Minimal.Controls.MessageBox.Show("当前文件不存在!", "警告", MessageBoxImage.Warning); WPFDevelopers.Minimal.Controls.MessageBox.Show("当前文件不存在。", "错误", MessageBoxImage.Error); WPFDevelopers.Minimal.Controls.MessageBox.Show("当前文件不存在,是否继续?", "询问", MessageBoxButton.OKCancel, MessageBoxImage.Question); ``` ![MessageBox](https://raw.githubusercontent.com/WPFDevelopersOrg/ResourcesCache/main/resources/WPFDevelopers.Minimal/MessageBox.gif) ### Menu|ContextMenu 1)XAML ``` XML ``` ![Menu](https://raw.githubusercontent.com/WPFDevelopersOrg/ResourcesCache/main/resources/WPFDevelopers.Minimal/Menu.gif) ### Button 1)XAML ``` XML