可托拉拽的WPF选项卡控件,强大好用!

推荐一个简单易用的WPF选项卡控件。

项目简介

这是一个基于WPF开发的,可扩展、高度可定制、轻量级的UI组件,支持拖拉拽功能,可以让开发人员快速实现需要选项卡窗口的系统。

特色功能

1、拖拉拽标签;

2、浮动的窗口、多文档界面;

3、支持MVVM;

4、支持Chrome风格的标签、支持IE风格的透明风格;

5、可自定义样式;

6、支持调整窗口透明度、窗口大小、最大化等样式;

7、支持.Net 4.* Framework。

项目结构

3f7ec77134cf02b9a98a33840bf09e2f.png

使用方法

1、该控件TabablzControl是继承于标准控件TabControl,所以使用方法与TabControl类似。

82a503a675d2a86d43232518a31c7fe0.png

2、实现接口IInterTabClient,实现自定义

e2231e17754b7b8c04981b4760116839.png

把InterTabController 绑定至TabablzControl。

<dragablz:InterTabController InterTabClient="{Binding MyInterTabClientInstance}" />

部分效果截图

普通标签页

26494109bb1c7f2f87efa567eac6b57b.png

拖拉新窗口

4d232fb263293a54563cdc841959e087.png

样式自定义

4a7d8081ca757e2f7fa370a0a05c7485.png

多文档窗口

6cbb37e1c3552fbb275d9358c5a8eadc.png

多种布局

50dbf7dc1031d8991caaae592aa75e74.png

按钮

7873cb8313b3a66cc4cd5b5d2e43f87a.png

项目地址

https://github.com/ButchersBoy/Dragablz

推荐阅读

推荐一个EntityFramework扩展的开源项目,由zzzproject出品精品库

推荐一个C#开发的、跨平台的解压缩的开源项,值得收藏

一个方便IO单元测试的C#扩展库

推荐一个C#开发的窗口扩展菜单,支持系统所有窗口

一个Windows远程工具,小巧但实用,支持RDP、SSH、SFTP、FTP等多种协议

觉得好看 点个在看👇

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现 WPF 中的可件生成,可以使用拖放操作。以下是一个基本的示例: 首先,在 XAML 中设置一个源件,允许它被拖动。例如,你可以使用一个 Button 件,并在 MouseDown 事件处理程序中启动一个拖动操作: ``` <Button Content="Drag Me" MouseDown="Button_MouseDown"/> ``` 在 MouseDown 事件处理程序中,可以使用 DragDrop.DoDragDrop 方法启动拖放操作。此方法需要三个参数:源件、要传递的数据和拖动操作的类型。例如: ``` private void Button_MouseDown(object sender, MouseButtonEventArgs e) { DragDrop.DoDragDrop((Button)sender, "Some data to drag", DragDropEffects.Copy); } ``` 接下来,在 XAML 中设置一个接收件,允许它接收拖放的数据。例如,你可以使用一个 StackPanel 件,并在 Drop 事件处理程序中处理拖放操作: ``` <StackPanel Drop="StackPanel_Drop"/> ``` 在 Drop 事件处理程序中,可以使用 e.Data.GetData 方法获取传递的数据,并创建一个新件以显示该数据。例如: ``` private void StackPanel_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.StringFormat)) { string data = (string)e.Data.GetData(DataFormats.StringFormat); Button newButton = new Button() { Content = data }; ((StackPanel)sender).Children.Add(newButton); } } ``` 这将在 StackPanel 中添加一个新的 Button 件,其中包含拖放操作中传递的数据。你可以根据需要自定义此过程,例如,可以使用其他件作为源件,将更多数据传递给接收件等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值