wpf 自定义combox控件

这篇具有很好参考价值的文章主要介绍了wpf 自定义combox控件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关键步骤

1、新建usercontrol使用基本的控件进行设计

2、依赖属性的定义,目的:外部调用时候能够使用属性进行控件样式的控制

例如

Width="200"

DisplayMemberPath="Name"

SelectedItem="{Binding SelectedItem,Mode=TwoWay}"

SelectionChanged="{Binding ProjectSelectCommand}"

CommandParameter="{Binding ElementName =

ProjectCombobox,

Path=SelectedItem}"

 文章来源地址https://www.toymoban.com/news/detail-493095.html

3、事件的定义,使用过combox的朋友可能熟悉下边的代码

 

但是使用依赖属性封装后,我们能够使用这样来调用

SelectionChanged="{Binding ProjectSelectCommand}"

CommandParameter="{Binding ElementName =

ProjectCombobox,

Path=SelectedItem}"

造成这样的区别是由于实现不同,看下边两段定义

public event SelectionChangedEventHandler SelectionChanged;

public ICommand SelectionChanged

{

get { return (ICommand)GetValue(SelectionChangedProperty); }

set { SetValue(SelectionChangedProperty, value); }

}

// Using a DependencyProperty as the backing store for SelectionChanged. This enables animation, styling, binding, etc...

public static readonly DependencyProperty SelectionChangedProperty =

DependencyProperty.Register("SelectionChanged", typeof(ICommand), typeof(CustomCombox), new PropertyMetadata((u, d) => {

}));

这就是winform和wpf在命令系统上的区别,winform使用的是事件处理程序,而wpf则是使用命令系统。

4、使用熟悉系统的更新回调更新界面,就是这里

new PropertyMetadata((u, d) => {

})

新手(比如我)容易混淆这里的更新和属性binding的区别,比如

wpf 自定义combox控件

这样是更新不了界面的,需要在更新回调里边修改前端界面,

wpf 自定义combox控件

5、scrollview支持鼠标滑动

参考:

(138条消息) 让ScrollViewer支持鼠标滚轮效果_飞鹰的专栏-CSDN博客

这里自己记录下,加深理解。

 

 

到了这里,关于wpf 自定义combox控件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WPF grid控件定义行和列

    在此已经学习了wpf Grid控件, WPF布局控件Grid的基本使用 - 使用kaxaml_bcbobo21cn的博客-CSDN博客 下面继续学习; 定义3行3列的基本代码如下;为了看清效果,设置 ShowGridLines=\\\"True\\\";   减少一列,效果如下;   只有行,没有列;   指定第一列的宽度;   第一列指定宽度,剩下2列

    2024年02月13日
    浏览(37)
  • wpf 为自定义控件添加滚动条

    在WPF中为自定义控件添加滚动条通常涉及将自定义控件置于 ScrollViewer 控件内,并根据需要配置ScrollViewer的属性。以下是一个基本步骤说明: 创建自定义控件 :首先,你有一个自定义控件(比如名为 RWrapPanel ,继承自 WrapPanel 并实现 IScrollInfo 接口以进行平滑滚动管理)。 嵌

    2024年02月01日
    浏览(30)
  • wpf自定义控件-单/双箭头线

    using System; using System.ComponentModel; using System.Windows; using System.Windows.Controls; using System.Windows.Media; using System.Windows.Shapes; namespace CustomControls { [TypeDescriptionProvider(typeof(CustomTypeDescriptionProvider))] public class CustomArrow : Shape { public CustomArrow () { Stroke= new SolidColorBrush(Color.FromRgb(0, 140, 206));

    2024年02月15日
    浏览(30)
  • C# winform usercontrol控件跟随主窗体实现自动大小

    usercontrol控件跟随主窗体实现自动大小 今天是跟着哗哩哗哩大学学习C的第N天,但是是学习usercontrol的第一天。 第一天遇到的问题就是如何将usercontrol的大小跟随主窗体的一起变大变小。视频中教得很详细,首先是将usercontrol控件实例化,接着就是设置usercontrol的dock属性为fil

    2024年02月12日
    浏览(35)
  • WPF自定义控件库之Window窗口

    在WPF开发中,默认控件的样式常常无法满足实际的应用需求,我们通常都会采用引入第三方控件库的方式来美化UI,使得应用软件的设计风格更加统一。常用的WPF的UI控件库主要有以下几种,如: Modern UI for WPF , MaterialDesignInXamlToolkit ,PanuonUI,Newbeecoder.UI,WPF UI , AduSkin ,

    2024年02月08日
    浏览(33)
  • WPF 自定义控件完成库容表盘显示效果

    先看一下显示效果:        需要注意的地方有以下几点: 表盘的刻度分部,长刻度和短刻度显示。 在数值80W时,需要更改刻度盘的颜色渐变。 在数值80W时,更改库容总数背景的显示,也是颜色渐变。刻度盘控件属性定义: 刻度盘的定义: 设置刻度盘的style: 库容总数背

    2024年02月16日
    浏览(26)
  • WPF自定义控件之ItemsControl鱼眼效果

    原理 先获取鼠标在控件中的坐标,在获取其每一项相对于ItemsControl的坐标,然后计算每一项离当前鼠标的距离,在根据这个距离,对其每一项进行适当的缩放 实现 创建一个类,命名为FishEyeItemsControl   public class FishEyeItemsControl : ItemsControl   添加应用鱼眼效果方法(控制其控

    2024年02月04日
    浏览(29)
  • WPF自定义嵌入弹框控件,支持内容标题自定义

    最近为了实现WPF中弹框组件写了一个小例子: 组件要求: 1.自定义标题 2自定义标题颜色 3提供关闭按钮, 4.弹框内容可由调用方自行嵌入 xaml代码 UserControl x:Class=\\\"WpfApp1.Controls.CustomPopup\\\"              xmlns=\\\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\\\"              xmlns:x=\\\"

    2024年02月16日
    浏览(33)
  • WPF --- 非Button自定义控件实现点击功能

    今天在做一个设置文件夹路径的功能,就是一个文本框,加个按钮,点击按钮,弹出 FolderBrowserDialog 再选择文件夹路径,简单做法,可以直接 StackPanel 横向放置一个 TextBox 和一个 Image Button ,然后点击按钮在 后台代码中给 ViewModel 的 FilePath 赋值。但是这样属实不够优雅,UI 不

    2024年02月12日
    浏览(31)
  • WPF 自定义DataGrid控件样式模板5个

    样式一: 样式代码: 初始化绑定数据C#代码: 效果展示: 样式二: 上面的代码实现了隔行换色的效果,但是没有鼠标选中效果。另外有些用户希望能够进行列头拖动及排序。那么就需要做以下更改: 添加DataGridRow样式: 在引用时,设置DataGrid的RowStyle=\\\"{StaticResource AlertCoun

    2023年04月27日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包