Giter Club home page Giter Club logo

panuonui.silver's Introduction

出于历史包袱原因,此控件库已不再维护。如果发现了bug,请将merge request提交至仓库。

全新的 Panuon.WPF.UI 现已发布。

https://github.com/PanuonGroup/Panuon.UI.Silver

自Panuon.UI.Silver 2.2开始,控件库已更名为 Panuon.WPF.UI。 新控件库提供了非常详细的细节自定义功能,如果你刚刚接触WPF,可能会遇到一点困难。如果你是WPF专家,它则会让你感到惊喜(比如丰富的自定义属性以及残缺的文档
如果想查看视频教程,欢迎关注我的bilibili账号:https://space.bilibili.com/319290241

Panuon.UI.Silver

Panuon.UI optimized version. A beautiful wpf ui library using templates & attached properties.
Panuon.UI的优化版本。一个漂亮的、使用样式与附加属性的WPF UI控件库。

Email : [email protected]
QQ频道 : https://pd.qq.com/s/fpap7qj2y

GitHub地址:https://github.com/Panuon/PanuonUI.Silver
码云地址: https://gitee.com/panuon/PanuonUI.Silver

Panuon Iconfont已在阿里图标字体库开放。你可以在1.x版本中使用这些图标。
https://www.iconfont.cn/user/detail?spm=a313x.7781069.1998910419.d9bd4f23f&uid=4788435

20202-5-26 V1.1.3

修复ComboBox的Padding右边距过大造成的显示问题。
修复在修改MenuHelper.SubmenuWidth属性时出现的显示异常BUG。 修复PendingBox无法从CenterOwner启动的BUG。

20202-5-7 V1.1.2

优化ComboBox的阴影效果。
修复在TreeView的Chain样式中,即使子项内没有子项也能展开的BUG。
修复Slider控件的显示效果。

20202-4-16 V1.1.1

[重要修复]修复了Button和RepeatButton无法换肤的问题。此问题是由于Foreground、Background、BorderBrush属性在动画执行结束时,没有释放对属性的占用,从而导致无法再更改这些属性的值。现已使用2.0的Button解决方案替代。
PUTextBlock已更名为TextBlockX。若要使用ClipToBounds效果,必须使TextBlockX或其容器拥有可计算的高度以及宽度。此外,修复了TextBlockX在极端情况下可能死循环的问题。

ReleaseNote 发布文档

https://github.com/Panuon/Panuon.Documents/blob/master/Documents/PanuonUI.Silver/release-note.zh-cn.md

Document 文档

Chinese document(English document is still being written, you can translate it by google or other translators):
中文文档:
https://github.com/Panuon/Panuon.Documents/blob/master/Documents/PanuonUI.Silver/zh-cn.md

Case 案例

Morin 魔音

http://www.huanghunxiao.com/

Collector

Examples 示例

Donate 捐赠

Panuon.UI.Silver is an open source library.Your support will motivate me to continue Panuon.UI.Silver development.
Panuon.UI.Silver是一个完全开源的控件库。您的支持是项目得以发展的根本保证。

Zhifubao:
支付宝:

Paypal:
paypal.me/Zeoun

Where is the exmaple ? (示例在哪?)

After downloading this repository, launch "Panuon.UI.Silver.Browser" project , and you will find it .
当您下载该仓库后,只需启动"Panuon.UI.Silver.Browser"项目,即可看到示例。

Work with helper (需要使用Helper的控件):

Button / CheckBox / RadioButton / TextBox / PasswordBox / ComboBox / Expander / GroupBox / Expander

Dependent custom controls (独立自定义控件):

Calendar / Carousel / Loading / MultiSelector / ImageCuter / TagPanel / NeonLabel / Clock / DateTimePicker

Styles only (仅样式):

DataGrid / ScrollViewer (MiniScrollViewer)

Button

TextBox / PasswordBox

CheckBox

RadioButton

panuonui.silver's People

Contributors

ghost1372 avatar ionthruster0xff avatar mochengvia avatar stanley8615 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

panuonui.silver's Issues

如何将一个样式适用对应的所有控件

例如我想让本xaml文件中的所有button都使用
pu:ButtonHelper.ClickStyle="Sink"
pu:ButtonHelper.HoverBrush="#3F3F3F"
pu:ButtonHelper.CornerRadius="15"
改样式该如何设置?
image
该方式并不会被识别,有没有和这种一样快捷的方式

Notice控件问题

步骤:
1.调用过Notice控件后关闭所有窗体,软件依然留有进程,需要任务管理器手动结束进程。
2.注释所有Notice调用的代码后,软件能正常关闭。所以能确定是Notice引起的问题。

DataGrid卡顿问题

PanuonUI的DataGrid要比原生的DataGrid卡很多。

绑定相同的DataTabel时,滚动或DataGrid或者DataGrid绑定对象发生变化时,PanuonUI会不断打印出以下错误:
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.DataGrid', AncestorLevel='1''. BindingExpression:Path=FontSize; DataItem=null; target element is 'DataGridCell' (Name=''); target property is 'FontSize' (type 'Double')

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.DataGrid', AncestorLevel='1''. BindingExpression:Path=(0); DataItem=null; target element is 'DataGridCell' (Name=''); target property is 'CellPadding' (type 'Thickness')

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.DataGrid', AncestorLevel='1''. BindingExpression:Path=(0); DataItem=null; target element is 'DataGridCell' (Name=''); target property is 'ColumnVerticalContentAlignment' (type 'VerticalAlignment')

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.DataGrid', AncestorLevel='1''. BindingExpression:Path=(0); DataItem=null; target element is 'DataGridCell' (Name=''); target property is 'ColumnHorizontalContentAlignment' (type 'HorizontalAlignment')

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.DataGrid', AncestorLevel='1''. BindingExpression:Path=(0); DataItem=null; target element is 'DataGridCell' (Name=''); target property is 'SelectedBackground' (type 'Brush')

如果是WPF原生的DataGrid是不会有这样的情况。

NavigationView

If possible please add NavigationView to the set of controls.
  There's an example here

image

一点点小建议

简单体验了下,提几点小建议:
1、大概看了一下 Button 的实现,Style 把Button的结构设置的太过复杂了(实时可视化树看了下,居然有9个后代,默认的就3个,虽然都快0202年了,但是性能问题还是得考虑一下下,尽可能精简),另外 DataTrigger 中,重复性代码过多,还可以进一步优化(把Template公共部分提取出来,动态修改Template还是有点“重”)
2、DateTimerPicker、ColorPicker、ColorSelector,有1-3秒的卡顿(CPU Xeon E5-2690,16G),可能还是结构太重了?选择后没有自动隐藏?这几个没有具体看代码。
3、总体来说还是很漂亮,设计思路感觉“很轻量级”,部分控件的自定义Style建议“减肥”,不要把结构搞的太复杂,小而美不香吗?(个人项目经验:几套Style+“附加属性Helper”走天下)
4、加油shao年!

按钮在后台设置不了隐藏和显示

我是从主界面(继承windowx)点击按钮跳到登陆窗口(继承windows的)然后登陆后 MainWindow mainWindow = new MainWindow();回到主界面 ,就不能控制按钮显示隐藏了。麻烦大神指点迷津。

  btnSignIn.Visibility = Visibility.Collapsed;
            btnSignOut.Visibility = Visibility.Visible;

使用CheckBox报错

使用CheckBox报错
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property.; Value='0,0,Auto,0' MultiBindingExpression:target element is 'Rectangle' (Name='RectToggle'); target property is 'Margin' (type 'Thickness')

关于ComboBox的SearchText问题

ComboBoxHelper中无法获取SearchText的值,翻查代码后发现,缺少public的GetSearchText()。
希望下次更新时能将internal static string GetSearchText(DependencyObject obj)改为Public。

WindowX最大化问题

在某些情况下(例如规定了maxwidth并且小于屏幕分辨率),WindowX最大化将出现以下两个问题:

  • 窗口内部分元素超出下界被任务栏遮挡
  • 窗口右侧出现多余白边

下图中Button贴近WindowX右下角放置,与贴近边的边距为0
010101
最大化后可看到窗口下界超出可显示的边缘,Button被任务栏遮挡。同时窗口右侧出现一条白边。
0202020

怎么修改MessageBoxX的大小

MessageBoxX可以修改大小么?制作了一个小软件,界面比较小,弹出的提示框太大啦,很不协调,可以自定义大小么

DataGrid相关

希望DataGrid支持按钮列和第一列是checkbox,目前支持,但表头没有全选,还有表头合并单元格

WindowX边界遮挡

WindowX的边框向内10单位左右区域元素无法点击,可能是窗体边框遮挡了内容元素。
能否像QQ一样将窗体内容的边界向内缩进?

DataGridHelper可以设置SelectedItems吗

自带控件有SelectedItem选项,但只能绑定到一个对象实例,实际使用中,客户往往有多选的需求,但无法将多选绑定到ViewModel中,我看到有人通过重写DataGrid来实现此功能,大佬能否在DataGridHelper添加此功能?

public class CustomDataGrid : DataGrid
{
    public CustomDataGrid ()
    {
        this.SelectionChanged += CustomDataGrid_SelectionChanged;
    }
 
    void CustomDataGrid_SelectionChanged (object sender, SelectionChangedEventArgs e)
    {
        this.SelectedItemsList = this.SelectedItems;
    }
    #region SelectedItemsList
 
    public IList SelectedItemsList
    {
        get { return (IList)GetValue (SelectedItemsListProperty); }
        set { SetValue (SelectedItemsListProperty, value); }
    }
 
    public static readonly DependencyProperty SelectedItemsListProperty =
            DependencyProperty.Register ("SelectedItemsList", typeof (IList), typeof (CustomDataGrid), new PropertyMetadata (null));
 
    #endregion
}

关于ComboBox的SearchTextChanged事件的疑问

你好,在ComboBox的搜索框中输入字符后,会触发两次SearchTextChanged事件,第一次取得的SearchTextChangedEventArgs.Text是正确的字符串,但第二次取到的Text为""。请问是我的使用方式不对吗?

请问下什么时候能在nuget上出个正式的版本

大佬,请问下什么时候能在nuget上出个正式的版本,想用在项目里面,又发现还有不少控件还有待完善。另外,希望大佬能在MessageBoxX中加上Loading的功能,就像那种弹出试的等待框。

关于MessageBoxX

DefaultButton 设置不起作用啊老哥!
Button类型设定为YesNo,DefaultButton设定为CancelOrNo或者YesOK时,弹窗都是显示YesButton为蓝色

Button控件后台设置Backgroud背景色无效

前台:
<Button x:Name="button1" Click="button1_Click" Background="Black" Content="Button" Width="150" Height="70“/>

后台:
private void button1_Click(object sender, RoutedEventArgs e)
{
this.button1.Background = new SolidColorBrush(Colors.Red);
}

现象:不能在按钮的click事件中修改此按钮的颜色(鼠标点击时颜色变化为Red了,但是移开后颜色会恢复为Black),其中ButtonStyle的 Link和Outline模式可以修改,Standard和Hollow模式修改失败!另外,可以在事件中修改其他按钮的颜色。
原因分析:应该是鼠标移开的事件导致颜色恢复为以前状态了。

还有一个现象,Link模式的CornerRadius设置无效,其余三种模式OK。

ComboBox 设置圆角无效

ComboBoxHelper.SetCornerRadius(CmbCustom, new CornerRadius(15)); //使用c#代码设置 没问题
<ComboBox pu:CheckBoxHelper.CornerRadius="15"></ComboBox>//使用xaml这种方式设置圆角无效

关于Calendar控件的问题

步骤:
1.选择日期某个月的31日。
2.将控件模式转换为CalendarMode.YearMonth
3.选择2月份
4.会报错:System.ArgumentOutOfRangeException:“年、月和日参数描述无法表示的 DateTime。”

分析:
在年月模式下,会续用上一次选择日期的day值,但对于所选择的月份可能会没有该日数,所以报错。

ComboBoxHelper设置IsEditable="True"后,文字显示不全的问题

xaml:
<ComboBox pu:ComboBoxHelper.Header="客户" IsEditable="True" Text="{Binding TxtShipper}" ItemsSource="{Binding Shippers}" HorizontalAlignment="Left"/>

我想截个图的,但不幸的是这里好像不能插入图片,大概样子是(有点抽象,希望能看懂):
|<空白>文字<下拉箭头>|

不知道如何取消文字前面的空白,我尝试去设置HorizontalAlignment还有HorizontalContentAlignment,但是没有什么效果

期待timeline时间轴控件

非常感谢大大的控件组。
请问大大,大约什么时候能有timeline时间轴控件呢?谢谢!
我在demo里看到了有这个标签,但没有内容。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.