摘要: 模式匹配性能更好,因为 C# 编译器会根据你的模式编译出最优的匹配路径。 switch 表达式 public static RGBColor FromRainbow(Rainbow colorBand) => colorBand switch { Rainbow.Red => new RGBColo 阅读全文
posted @ 2020-08-06 19:21 yetsen 阅读(226) 评论(0) 推荐(0)
摘要: 匿名对象的 with 可以用 with 来根据已有的匿名对象创建新的匿名对象了: var x = new { A = 1, B = 2 }; var y = x with { A = 3 }; 常量字符串插值 你可以给 const string 使用字符串插值了,非常方便: const string 阅读全文
posted @ 2020-08-05 20:07 yetsen 阅读(301) 评论(0) 推荐(0)
摘要: 本地函数有两个常见的用例:公共迭代器方法和公共异步方法。 这两种类型的方法都生成报告错误的时间晚于程序员期望时间的代码。 在迭代器方法中,只有在调用枚举返回的序列的代码时才会观察到任何异常。 在异步方法中,只有当返回的 Task 处于等待状态时才会观察到任何异常。 使用本地函数将参数验证与迭代器实现 阅读全文
posted @ 2020-08-04 20:04 yetsen 阅读(233) 评论(0) 推荐(0)
摘要: 析构元组 将 var 关键字放在括号外,可使用 var 关键字,以便 C# 推断每个变量的类型。 var (name, address, city, zip) = contact.GetAddressInfo(); 从 C# 10 开始,可在析构中混合使用变量声明和赋值。 public static 阅读全文
posted @ 2020-08-03 19:30 yetsen 阅读(129) 评论(0) 推荐(0)
摘要: Freezable通过提供在性能原因需要或需要不可变对象时生成对象副本的方法,模拟可变对象中的不变性。 该Freezable类型为某些图形元素(如几何和画笔以及动画)提供了通用基础。Animatable是一Freezable个派生类 可以在线程之间共享冻结的 Freezable,而未冻结的 Free 阅读全文
posted @ 2020-08-02 16:48 yetsen 阅读(354) 评论(0) 推荐(0)
摘要: 防止窗口激活 如果你的应用程序具有在显示时不应激活的窗口,则可在第一次调用 Show 方法之前,将其 ShowActivated 属性设置为 false。 结果是: • 不会激活窗口。 • 不引发窗口的 Activated 事件。 • 当前激活的窗口保持激活状态。但是,只要用户通过单击工作区或非工作 阅读全文
posted @ 2020-08-01 17:08 yetsen 阅读(174) 评论(0) 推荐(0)
摘要: BindsDirectlyToSource 主要用于ObjectDataProvider,绑定到provide自身,而不是provider所包含的对象 <Window.Resources> <ObjectDataProvider x:Key="odp" ObjectType="{x:Type loc 阅读全文
posted @ 2020-07-31 17:46 yetsen 阅读(396) 评论(0) 推荐(0)
摘要: System.Runtime.Caching 命名空间是 .NET Framework 4 中的新命名空间。 此命名空间使缓存可供所有 .NET Framework 应用程序使用。 using System; using System.Collections.Generic; using Syste 阅读全文
posted @ 2020-07-29 20:20 yetsen 阅读(2181) 评论(0) 推荐(0)
摘要: 灰度图像 <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Page.Resources> 阅读全文
posted @ 2020-07-28 20:13 yetsen 阅读(370) 评论(0) 推荐(0)
摘要: 提供一种方式,用于根据数据对象和数据绑定元素来选择 DataTemplate。 using System.Windows; using System.Windows.Controls; namespace SDKSample { public class TaskListDataTemplateSe 阅读全文
posted @ 2020-07-27 20:21 yetsen 阅读(169) 评论(0) 推荐(0)
摘要: 基于绑定源集合,它允许基于排序、筛选和分组查询来导航并显示源集合,而无需更改基础源集合本身。 集合视图还维护一个指向集合中当前项的指针。 创建并使用视图的一种方式是直接实例化视图对象,然后将它用作绑定源。 <Window.Resources> <CollectionViewSource Source 阅读全文
posted @ 2020-07-26 20:59 yetsen 阅读(322) 评论(0) 推荐(0)
摘要: 允许将多个集合和项作为一个列表显示 <ListBox Name="myListBox" Height="300" Width="200" Background="White"> <ListBox.ItemsSource> <CompositeCollection> <CollectionContai 阅读全文
posted @ 2020-07-25 20:27 yetsen 阅读(218) 评论(0) 推荐(0)
摘要: ItemContainerStyle可用来指定每个item的触发器 <ItemsControl Margin="10" ItemsSource="{Binding Source={StaticResource myTodoList}}"> <!--The ItemsControl has no de 阅读全文
posted @ 2020-07-24 21:03 yetsen 阅读(326) 评论(0) 推荐(0)
摘要: 默认情况下,如果绘制ImageBrush区域的纵横比与图像不同,则拉伸其图像以完全填充要绘制的区域,从而扭曲图像。 可以通过Stretch将属性的Fill默认值更改为None来Uniform更改此行为。 <Canvas Height="200" Width="300"> <Canvas.Backgr 阅读全文
posted @ 2020-07-23 20:13 yetsen 阅读(296) 评论(0) 推荐(0)
摘要: Drawing 对象不支持布局、输入和焦点,因此它们提供性能优势,使其非常适合用于描述背景、剪贴画以及用于对象的低级别绘图 Visual 。 由于 Drawing对象是一个类型 Freezable 对象,因此 Drawing 对象获取几个特殊功能,其中包括:它们可以声明为资源、在多个对象之间共享、变 阅读全文
posted @ 2020-07-22 19:50 yetsen 阅读(660) 评论(0) 推荐(0)
摘要: 关键帧 关键时间可以指定为时间值、百分比或特殊值Uniform或Paced。 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="TranslateTransform02" Storyboard.TargetProperty="X" Durat 阅读全文
posted @ 2020-07-21 20:30 yetsen 阅读(122) 评论(0) 推荐(0)
摘要: 托管标准 UWP 控件 1. 新建空白应用(通用 Windows)项目,确保目标版本和最低版本均设置为 Windows 10 版本 1903 或更高版本。在 UWP 应用项目中,安装 Microsoft.Toolkit.Win32.UI.XamlApplication 2. 修改App的默认基类为X 阅读全文
posted @ 2020-07-19 11:46 yetsen 阅读(570) 评论(0) 推荐(0)