Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >WPF旋转板栈设计一例

WPF旋转板栈设计一例

作者头像
DotNet Whisperer
发布于 2025-04-13 07:05:59
发布于 2025-04-13 07:05:59
9200
代码可运行
举报
文章被收录于专栏:DotNet杂记DotNet杂记
运行总次数:0
代码可运行

效果图

项目中需要做一个机台的平面视图,点击其中一个料盒时,弹出该料盒的料管列表,用WPF示例做了一下,效果如下:

用户控件XAML

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 <UserControl x:Class="WpfApp1.Views.BoardStackControl"
 2              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 3              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 4              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
 5              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
 6              xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
 7              xmlns:local="clr-namespace:WpfApp1.Views"
 8              xmlns:wpfapp1="clr-namespace:WpfApp1"
 9              d:DataContext="{d:DesignInstance Type=wpfapp1:MainViewModel}"
10              Width="224" Height="300"
11              mc:Ignorable="d" 
12              d:DesignHeight="300" d:DesignWidth="250">
13     <UserControl.DataContext>
14         <wpfapp1:MainViewModel />
15     </UserControl.DataContext>
16     <Grid>
17         <!--<ItemsControl ItemsSource="{Binding NestGroups}">
18             <ItemsControl.ItemsPanel>
19                 <ItemsPanelTemplate>
20                     <StackPanel Orientation="Horizontal"></StackPanel>
21                 </ItemsPanelTemplate>
22             </ItemsControl.ItemsPanel>
23             <ItemsControl.ItemTemplate>
24                 <DataTemplate>-->
25         <Border Margin="1">
26             <Grid Width="220" Height="220">
27                 <Ellipse Stroke="#dcdfe3" StrokeThickness="3"  Width="220" Height="220"/>
28                 <Ellipse Stroke="#dcdfe3" StrokeThickness="3"  Width="80" Height="80" HorizontalAlignment="Center" VerticalAlignment="Center"/>
29                 <ItemsControl ItemsSource="{Binding LeftTubes3}">
30                     <ItemsControl.ItemsPanel>
31                         <ItemsPanelTemplate>
32                             <Canvas/>
33                         </ItemsPanelTemplate>
34                     </ItemsControl.ItemsPanel>
35                     <ItemsControl.ItemContainerStyle>
36                         <Style TargetType="ContentPresenter">
37                             <Setter Property="Canvas.Left"  Value="{Binding X, Mode=OneWay}"/>
38                             <Setter Property="Canvas.Top"  Value="{Binding Y, Mode=OneWay}"/>
39                             <Setter Property="RenderTransformOrigin" Value="0.5,0.5"/>
40                             <Setter Property="RenderTransform">
41                                 <Setter.Value>
42                                     <RotateTransform Angle="{Binding Angle}"/>
43                                 </Setter.Value>
44                             </Setter>
45                         </Style>
46                     </ItemsControl.ItemContainerStyle>
47                     <ItemsControl.ItemTemplate>
48                         <DataTemplate>
49                             <Grid>
50                                 <Border Width="35" Height="50" Tag="{Binding .}" x:Name="animatedBorder" MouseLeftButtonDown="Border_MouseLeftButtonDown" 
51                         CornerRadius="3"  Background="#FFE6E6E6" BorderBrush="Gray" BorderThickness="1">
52                                     <ItemsControl ItemsSource="{Binding Tubes}" Margin="2" IsHitTestVisible="False">
53                                         <ItemsControl.ItemsPanel>
54                                             <ItemsPanelTemplate>
55                                                 <UniformGrid Columns="{Binding Rows}" Rows="{Binding Cols}" IsHitTestVisible="False"/>
56                                             </ItemsPanelTemplate>
57                                         </ItemsControl.ItemsPanel>
58                                         <ItemsControl.ItemTemplate>
59                                             <DataTemplate>
60                                                 <Ellipse Width="{Binding Width}" Height="{Binding Height}" Fill="#FF4F81BD"  Margin="{Binding Margin}" Stroke="Black" StrokeThickness="0.5" IsHitTestVisible="False"/>
61                                             </DataTemplate>
62                                         </ItemsControl.ItemTemplate>
63                                     </ItemsControl>
64                                     <Border.Triggers>
65                                         <EventTrigger RoutedEvent="MouseLeftButtonUp">
66                                             <BeginStoryboard>
67                                                 <Storyboard>
68                                                     <DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0.5" Duration="0:0:0.1" AutoReverse="True"/>
69                                                 </Storyboard>
70                                             </BeginStoryboard>
71                                         </EventTrigger>
72                                     </Border.Triggers>
73                                 </Border>
74                                 <Border Width="20" Height="20" CornerRadius="10"  Background="#FF4F81BD" BorderBrush="White" BorderThickness="1" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,-10,0,0">
75                                     <TextBlock Text="{Binding Index}"   Foreground="White" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Center"/>
76                                 </Border>
77                             </Grid>
78                         </DataTemplate>
79                     </ItemsControl.ItemTemplate>
80                 </ItemsControl>
81             </Grid>
82         </Border>
83         <!--</DataTemplate>
84             </ItemsControl.ItemTemplate>
85         </ItemsControl>-->
86 
87     </Grid>
88 </UserControl>
89 
90     

用户控件XMAL.CS

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 using CommunityToolkit.Mvvm.Messaging;
 2 using Microsoft.Extensions.Logging;
 3 using System.Collections.ObjectModel;
 4 using System.Diagnostics;
 5 using System.Windows;
 6 using System.Windows.Controls;
 7 using System.Windows.Input;
 8 using System.Windows.Media;
 9 using WpfApp1.Entities;
10 
11 namespace WpfApp1.Views;
12 
13 public partial class BoardStackControl : UserControl
14 {
15     public BoardStackControl()
16     {
17         InitializeComponent();
18 
19     }
20 
21     public static readonly RoutedEvent BorderClickedEvent =
22         EventManager.RegisterRoutedEvent(
23             "BorderClicked",
24             RoutingStrategy.Bubble,
25             typeof(RoutedEventHandler),
26             typeof(BoardStackControl)
27         );
28 
29     public event RoutedEventHandler BorderClicked
30     {
31         add => AddHandler(BorderClickedEvent, value);
32         remove => RemoveHandler(BorderClickedEvent, value);
33     }
34 
35     private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
36     {
37         if (sender is Border border && border.DataContext is BoxPosition boxPosition)
38         {
39             // 触发路由事件,并携带索引
40             var args = new RoutedEventArgs(BorderClickedEvent, boxPosition.Index);
41             RaiseEvent(args);
42             e.Handled = true;
43         }
44     }
45 
46 }

主窗口XAML

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 <Window x:Class="WpfApp1.MainWindow"
 2         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 3         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 4         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
 5         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 6         xmlns:local="clr-namespace:WpfApp1"
 7         xmlns:view="clr-namespace:WpfApp1.Views"
 8         mc:Ignorable="d"
 9         Title="MainWindow" Height="450" Width="800">
10     <Window.DataContext>
11         <local:MainViewModel />
12     </Window.DataContext>
13     <Grid>
14         <Border BorderBrush="Gray" BorderThickness="1">
15             <Grid>
16                 <Grid.RowDefinitions>
17                     <RowDefinition Height="100"/>
18                     <RowDefinition Height="300"/>
19                 </Grid.RowDefinitions>
20                 <Grid.ColumnDefinitions>
21                     <ColumnDefinition Width="*"></ColumnDefinition>
22                     <ColumnDefinition Width="*"></ColumnDefinition>
23                     <ColumnDefinition Width="*"></ColumnDefinition>
24                 </Grid.ColumnDefinitions>
25 
26                 <Border Grid.ColumnSpan="3" Grid.Row="0"  BorderBrush="LightGray" BorderThickness="0,0,0,1">
27                     <Grid>
28                         <Rectangle Fill="#FFD3D3D3" Height="60" VerticalAlignment="Center"/>
29 
30                         <Path Data="M117 91q-6-7 1-12l2-26q-3-1-2-7L85 34q-3 4-8 1L54 48q0 4-5 5L48 54 38 61l-1-1 10-7-3-3-10 6-1-1 10-6 1-1L44 47q1-4 5-4L75 28c2-4 6-5 10-2l40 15q9 0 6 9l2 29q7 5 0 13l14 8v7H101v-7Z" 
31                           Fill="#FF4F81BD" Stroke="Black" StrokeThickness="1"
32                           HorizontalAlignment="Center" VerticalAlignment="Center"
33                           Margin="-20,0,0,0" />
34                     </Grid>
35                 </Border>
36 
37                 <view:BoardStackControl Grid.Row="1" Grid.Column="0" BorderClicked="Rack1Control_BorderClicked" />
38                 <view:BoardStackControl Grid.Row="1" Grid.Column="1" BorderClicked="Rack2Control_BorderClicked" />
39                 <view:BoardStackControl Grid.Row="1" Grid.Column="2" BorderClicked="Rack3Control_BorderClicked" />
40             </Grid>
41         </Border>
42     </Grid>
43 </Window>

主窗口XAML.CS

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 using System.Diagnostics;
 2 using System.Text;
 3 using System.Windows;
 4 using System.Windows.Controls;
 5 using System.Windows.Data;
 6 using System.Windows.Documents;
 7 using System.Windows.Input;
 8 using System.Windows.Media;
 9 using System.Windows.Media.Imaging;
10 using System.Windows.Navigation;
11 using System.Windows.Shapes;
12 using WpfApp1.Entities;
13 using WpfApp1.Views;
14 
15 namespace WpfApp1
16 {
17     /// <summary>
18     /// Interaction logic for MainWindow.xaml
19     /// </summary>
20     public partial class MainWindow : Window
21     {
22         public MainWindow()
23         {
24             InitializeComponent();
25         }
26 
27         private void Rack1Control_BorderClicked(object sender, RoutedEventArgs e)
28         {
29             if (e.OriginalSource is int index)
30             {
31                 MessageBox.Show($"点击了第 1 个板栈的第 {index} 个 Border");
32                 ExecuteMainWindowMethod(index);
33             }
34         }
35         private void Rack2Control_BorderClicked(object sender, RoutedEventArgs e)
36         {
37             if (e.OriginalSource is int index)
38             {
39                 MessageBox.Show($"点击了第 2 个板栈的第 {index} 个 Border");
40                 ExecuteMainWindowMethod(index);
41             }
42         }
43         private void Rack3Control_BorderClicked(object sender, RoutedEventArgs e)
44         {
45             if (e.OriginalSource is int index)
46             {
47                 MessageBox.Show($"点击了第 3 个板栈的第 {index} 个 Border");
48                 ExecuteMainWindowMethod(index);
49             }
50         }
51 
52         private void ExecuteMainWindowMethod(int index)
53         {
54             //// 这里编写 MainWindow 的具体逻辑
55             //// 例如更新 UI 或处理业务逻辑
56             //var vm = (MainViewModel)this.DataContext;
57             //vm.RackClickedCommand.Execute($"2_{deviceCode}_{rackIndex}");
58         }
59     }
60 }

主窗口ViewModel

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  1 using CommunityToolkit.Mvvm.ComponentModel;
  2 using CommunityToolkit.Mvvm.Input;
  3 using CommunityToolkit.Mvvm.Messaging;
  4 using System;
  5 using System.Collections.Generic;
  6 using System.ComponentModel;
  7 using System.Diagnostics;
  8 using System.Runtime.CompilerServices;
  9 using System.Windows.Input;
 10 using WpfApp1.Entities;
 11 using WpfApp1.Views;
 12 
 13 namespace WpfApp1
 14 {
 15     public partial class MainViewModel
 16     {
 17 
 18         public MainViewModel()
 19         {
 20 
 21             LeftTubes3 = CreateCircularTubes(12, 18, 110, 50);
 22 
 23             //IsActive = true;
 24         }
 25 
 26         #region 左侧板栈UI
 27 
 28         public List<BoxPosition> LeftTubes3 { get; set; } = [];
 29 
 30         private static List<BoxPosition> CreateCircularTubes(int count, int tubs, double outerRadius, double innerRadius)
 31         {
 32             var positions = new List<BoxPosition>();
 33             double centerX = outerRadius;
 34             double centerY = outerRadius;
 35 
 36             for (int i = 0; i < count; i++)
 37             {
 38                 // 计算角度 (360度均匀分布)
 39                 double angleDeg = 360.0 * i / count;
 40                 double angleRad = angleDeg * Math.PI / 180.0;
 41 
 42                 // 计算位置 (在内外半径之间)
 43                 double radius = (outerRadius + innerRadius) / 2;
 44                 double x = centerX + radius * Math.Cos(angleRad) - 17; // 25是料盒宽度的一半
 45                 double y = centerY + radius * Math.Sin(angleRad) - 25; // 35是料盒高度的一半
 46 
 47                 // 行数和列数
 48                 var rows = 2;
 49                 var cols = 3;
 50                 var margin = 2;
 51                 var width = 10;
 52                 var height = 10;
 53                 switch (tubs)
 54                 {
 55                     case 3:
 56                         rows = 1;
 57                         cols = 3;
 58                         margin = 2;
 59                         width = 10;
 60                         height = 10;
 61                         break;
 62                     //case 6:
 63                     //    rows = 2;
 64                     //    cols = 3;
 65                     //    break;
 66                     case 12:
 67                         rows = 3;
 68                         cols = 4;
 69                         margin = 1;
 70                         width = 5;
 71                         height = 5;
 72                         break;
 73                     case 18:
 74                         rows = 3;
 75                         cols = 6;
 76                         margin = 1;
 77                         width = 4;
 78                         height = 4;
 79                         break;
 80                     case 96:
 81                         rows = 8;
 82                         cols = 12;
 83                         margin = 0;
 84                         width = 1;
 85                         height = 1;
 86                         break;
 87                 }
 88 
 89                 // 创建6个料管
 90                 var tubes = new List<Tube>();
 91                 for (int j = 0; j < tubs; j++)
 92                 {
 93                     tubes.Add(new Tube
 94                     {
 95                         Margin = margin,
 96                         Width = width,
 97                         Height = height,
 98                     });
 99                 }
100 
101                 positions.Add(new BoxPosition
102                 {
103                     Index = i + 1,
104                     X = x,
105                     Y = y,
106                     Rows = rows,
107                     Cols = cols,
108                     Angle = angleDeg + 90, // 旋转角度等于位置角度
109                     Tubes = tubes
110                 });
111             }
112 
113             return positions;
114         }
115 
116 
117         #endregion
118 
119     }
120 }

Entities

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace WpfApp1.Entities
 8 {
 9     public class NestGroup
10     {
11         public List<BoxPosition> Nests { get; set; } = [];
12     }
13     public class BoxPosition
14     {
15         public int Index { get; set; }
16         public double X { get; set; }
17         public double Y { get; set; }
18         public double Angle { get; set; }
19         public int Rows { get; set; } = 2;
20         public int Cols { get; set; } = 3;
21         public List<Tube> Tubes { get; set; } = [];
22     }
23 
24     public class Tube
25     {
26         public int Margin { get; set; } = 2;
27         public int Width { get; set; } = 10;
28         public int Height { get; set; } = 10;
29     }
30 }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
记一次自定义基因分类图实现(二)
最近,心情略差,各种烦心事。总是提不起力气写点啥,但是上周写了一,这周还是把二写了吧,内容没那么多,但是总是自己的一些分享,记录。总得有个宣泄口~,发现不打游戏了,之后 的确没有什么好的爱好能够吸引我的注意力,这几年满脑子都是搞钱两个字,入迷了!
tangmanger
2025/04/26
660
记一次自定义基因分类图实现(二)
有几十个WPF设计和动画的项目
这是一个 WPF 项目,用于创作及收集一些好玩的设计和动画。目前已有数十个 Demo,部分 Demo 有相关博客介绍详细的实现步骤和原理:
沙漠尽头的狼
2022/04/18
1.4K0
有几十个WPF设计和动画的项目
WPF实现消息中心
本文将讲解基于WPF实现一个消息中心的功能,比如常见的软件当中会经常收到服务端推送的“新闻”、“公告”等消息。这个时候就需要对这个需求进行分析了。
JusterZhu
2022/12/07
6590
WPF实现消息中心
WPF 数据绑定实例一
原理:监听事件机制,界面改变有TextChanged之类的事件,所以改变界面可以同步修改到对象
zls365
2021/02/26
9610
《深入浅出WPF》——模板学习
图形用户界面(GUI,Graphic User Interface)应用较之控制台界面(CUI,Command User Interface)应用程序最大的好处就是界面友好、数据显示直观。CUI程序中数据只能以文本的形式线性显示,GUI程序则允许数据以文本、列表、图形等多种形式立体显示。 用户体验在GUI程序设计中起着举足轻重的作用——用户界面设计成什么样子看上去才够漂亮?控件如何安排才简单易用并且少犯错误?(控件并不是越复杂越好)这些都是设计师需要考虑的问题。WPF系统不但支持传统Windows Forms(简称WinForm)编程的用户界面和用户体验设计,更支持使用专门的设计工具Microsoft Expression Blend进行专业设计,同时还推出了以模板为核心的新一代设计理念(这是2010年左右的书,在那时是新理念,放现在较传统.NET开发也还行,不属于落后的技术)。 本章我们就一同来领略WPF强大的模板功能的风采。
全栈程序员站长
2022/09/09
5.2K0
《深入浅出WPF》——模板学习
WPF中ListBox的WrapPanel布局「建议收藏」
======================================================
全栈程序员站长
2022/09/15
7310
WPF中ListBox的WrapPanel布局「建议收藏」
【愚公系列】2022年10月 基于WPF的智能制造MES系统框架-菜单栏的设计
MES系统为企业提供包括制造数据管理、计划排程管理、生产调度管理、库存管理、质量管理、人力资源管理、工作中心/设备管理、工具工装管理、采购管理、成本管理、项目看板管理、生产过程控制、底层数据集成分析、上层数据集成分解等管理模块,为企业打造一个扎实、可靠、全面、可行的制造协同管理平台。
愚公搬代码
2022/10/28
7790
WPF 使用 ItemsPanel 修改方向
在 WPF 很多时候都需要使用 ListView 但是默认的列表是垂直的,如果需要使用水平的,就需要使用 ItemsPanel 设置使用的类
林德熙
2019/03/13
1.4K0
WPF 使用 ItemsPanel 修改方向
WPF之TreeList的实现方法(一)
做项目的时候根据需求,WPF现有的控件不能完全满足我们的需求, 很多时候我们需要对现有的控件做一下加工。 最简单的我们可能会把Tree转换成List形式有的叫Grid形式就像下图一样 今天我先做一个完
lpxxn
2018/01/31
2.2K0
WPF之TreeList的实现方法(一)
《深入浅出WPF》学习笔记之深入浅出话Binding
  如果把Binding比作数据的桥梁,那么它的两端分别是Binding的源(Source)和目标(Target)。一般源是逻辑层对象,目标是UI层控件对象.
zls365
2021/02/26
6K0
C#-ListView的使用
ListView顾名思义用来做列表数据展示,也是我们在开发中经常使用的控件之一,接下来将展示下它的一些使用场景,以满足不同的需求。
kdyonly
2023/03/03
1.2K0
C#-ListView的使用
【翻译】WPF中的数据绑定表达式
有很多文章讨论绑定的概念,并讲解如何使用StaticResources和DynamicResources绑定属性。这些概念使用WPF提供的数据绑定表达式。在本文中,让我们研究WPF提供的不同类型的数据绑定表达式。
沙漠尽头的狼
2021/12/01
2.7K0
【翻译】WPF中的数据绑定表达式
张高兴的 UWP 开发笔记:横向 ListView
  ListView 默认的排列方向是纵向 ( Orientation="Vertical" ) ,但如果我们需要横向显示的 ListView 怎么办? Blend for Visual Studio 现在就派上用场了。不只是 ListView ,其他的控件也可以用 Blend 定制你自己的 UI 样式。   下面新建一个项目 "HorizontalListViewDemo" ,用于演示横向 ListView ,解决方案结构如下:( GitHub: https://github.com/ZhangGaox
张高兴
2018/05/18
1.2K0
WPF实现列表分页控件的示例代码分享
[TemplatePart(Name = CountPerPageTextBoxTemplateName, Type = typeof(TextBox))]
用户7718188
2022/11/06
1.4K0
Silverlight的自定义tooltip提示工具条
这种应用场景其实很多,比如游戏中装备/魔法的选择菜单,这里借用了"深蓝色右手"的一张图  再比如聊天室中的文本颜色设置  虽然sl的ToolTipService.ToolTip属性可以设置任何对象,比
菩提树下的杨过
2018/01/23
1.4K0
Silverlight的自定义tooltip提示工具条
WPF中触发器Trigger、MultiTrigger、DataTrigger、MultiDataTrigger
WPF中有种叫做触发器的东西(记住不是数据库的trigger哦)。它的主要作用是根据trigger的不同条件来自动更改外观属性,或者执行动画等操作。
zls365
2021/01/28
3.6K0
Avalonia UI 如何在 ItemsControl 中绑定 MainViewModel 中的 Command?
当需要在 Avalonia UI 中展示一个列表时,ItemsControl 组件是一个不错的选择。如果需要针对列表中的某一项进行操作,通常不会在 ItemModel 中进行实现,而是放入列表所在的 ViewModel 中:
Power
2025/04/01
1800
Silverlight之ListBox/Style学习笔记--ListBox版的图片轮换广告
ListBox是一个很有用的控件,其功能直逼Asp.Net中的Repeater,它能实现自定义数据项模板,纵向/横向排列Item(如果扩展一下实现自行折行,几乎就是SL版的Repeater了--实际上WrapPanel已经实现了,不过没有默认集成在SL3中).  这里推荐一个老外的文章 http://blogs.msdn.com/delay/archive/2008/03/05/lb-sv-faq-examples-notes-tips-and-more-for-silverlight-2-beta-1-s
菩提树下的杨过
2018/01/22
1.1K0
Silverlight之ListBox/Style学习笔记--ListBox版的图片轮换广告
wpf listBox 多列大图片效果
修改ListBox的模版 多列大图片效果,加上删除button 看图 上代码! <Window x:Class="Thunder.SetCenter.RoomSetting.ActivityPhoto
lpxxn
2018/01/31
2.5K0
wpf  listBox  多列大图片效果
New UWP Community Toolkit - Carousel
概述 New UWP Community Toolkit  V2.2.0 的版本发布日志中提到了 Carousel 的调整,本篇我们结合代码详细讲解  Carousel 的实现。 Carousel 是一种传送带形态的控件,在图片展示类的应用中有非常多的应用,它拥有很好的流畅度,可以做很多的自定义,并集成了鼠标,触摸板,键盘等的操作。我们来看一下官方的介绍和官网示例中的展示: The Carousel control provides a new control, inherited from the It
Shao Meng
2018/04/28
1.5K0
New UWP Community Toolkit - Carousel
相关推荐
记一次自定义基因分类图实现(二)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档