首页
学习
活动
专区
圈层
工具
发布

合体姿势不对的HeaderedContentControl

前言 HeaderedContentControl是WPF中就存在的控件,这个控件的功能很简单:提供Header和Content两个属性,在UI上创建两个ContentPresenter并分别绑定到Header...UWP中几乎所有的表单控件都有Header属性,如TextBox、ComboBox等,这么看起来HeaderedContentControl更加重要了,但UWP反而没有提供HeaderedContentControl...,而且和TextBox等控件不同,UWP CommunityToolkit中的Header属性都是string类型,真是任性。...微软第一次在UWP提供了HeaderedContentControl,有了一个Object类型的Header属性,两件事本应该为开发者提供更多的方便,但是,为什么会变成这样呢。...这样的合体姿势明显不对,事实上在WPF中继承HeaderedContentControl的控件(如Expander和GroupBox)都在ControlTempalte中使用了Grid或DockPanel

1.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从ContentControl开始入门自定义控件

    前言 我去年写过一个在UWP自定义控件的系列博客,大部分的经验都可以用在WPF中(只有一点小区别)。...编译通过后在XAML上添加MyHeaderedContentControl的命名空间即可使用这个控件: 上使用TemplateBinding的属性不会太多,因为很大一部分Control的属性的值都可继承,即默认使用VisualTree上父节点所设置的属性值,譬如字体属性...结果就如上面截图显示,第二个TextBox没有获得焦点,焦点被包含它的ContentControl获取了,要再按一次 Tab TextBox才能获得焦点。...在自定义控件中创建依赖属性通常包含以下几部分: 注册依赖属性并生成依赖属性标识符。依赖属性标识符为一个public static readonly DependencyProperty字段。

    4.7K40

    Windows Community Toolkit 3.0 - InfiniteCanvas

    概述 InfiniteCanvas 是一个 Canvas 控件,它支持无限画布的滚动,支持 Ink,文本,格式文本,画布缩放操作,撤销重做操作,导入和导出数据。...这是一个非常实用的控件,在“来画视频” UWP 应用的绘画功能中,也用到了这个控件,它对不同画笔的选择,橡皮擦,直尺和圆形尺,文字输入和字体选择等都提供了很便捷的支持,而且支持导入和导出数据,可以很方便的创作绘画作品...对应的所有命令,包括 redo/undo,Ink,Text 等,如上面示例图中 Toolbar 上所示; Controls - InfiniteCanvas 的主要控件都在这个文件夹里; Drawables...来看一下判断光标能够下移一行的 CannotGoDown() 方法,按照换行符来切割文字行,如果只有一行则不可下移;当前选择的结束,在最后一行时,也不可下移,其他情况都可以下移; internal bool...,使用文本和格式设置的 textLayout 来用于 drawingSession 的 DrawTextLayout 方法实现绘制;根据字体大小设置横向偏移 HorizontalMarginBasedOnFont

    87430

    如何将GridViewEX升级到UWP(Universal Windows Platform)平台

    中使用GridViewEx,开发UWP应用。...但是在UWP应用中,非常灵活,桌面应用可以在标题栏中添加返回按钮,在移动设备中不仅能使用标题栏中的返回键,也可以使用物理返回键实现导航功能。UWP的方法比较通用,且不需要编写自定义的Xaml文件。...Blue" /> 新占位符...(NewGroupPlaceholder)控件 WinRT版的GridViewEx控件使用了简单border作为新分组的占位符,在拖拽项过程中外观是静态的,无法改变。...Bound 和Unbound 示例是由2个GridView控件组成,小屏幕中显的内容较多,无法显示更多的细节性的内容,因此使用Pivot控件保证同一时间只显示一个GridView控件,并支持GridView

    3.6K80

    深入浅出话属性

    DenpendencyProperty实例声明特点很鲜明----引用变量由public static readonly三个修饰符进行修饰,实例并非使用new操作符得到而是使用DependencyProperty.Register...再次,这个成员变量所引用的实例并非使用new操作符得到,而是使用DependencyProperty.Register方法创建。...一般情况下数据来源是业务逻辑层对象而目标就是UI上的控件。在下面这个例子里面,我们暂且倒过来,让textBox1作为数据源,把Student实例作为目标,让Student实例依赖在TextBox上。...的SetBinding方法指定将stu对象借助刚刚绑定的实例依赖在TextBox1上。...,dp,bind);       }   }   然后我们使用Binding将Student关联到TextBox1上,在把TextBox2的值关联到Student对象上形成Binding链。

    1.2K30

    Extensions in UWP Community Toolkit - Overview

    来看一下简单的代码示例: 我们使用两个 TextBlock 来显示实际绑定尺寸的宽度和高度,图一是 EnableActualSizeBinding 为 True 时的显示,图二时为 False 时的错误信息显示...的值;如果初始时不点按 Dial,直接旋转也是一样改变 textbox 的值;在值超出 0~100 区间时,Dial 会有震动反馈; TextBox HorizontalAlignment="Left...[a-Z] 大小写字母;2. [0-9] 数字;3. * 表示前两种都可以;除此之外,还可以支持固定字符,如 ‘-’ 这种不允许修改的占位符; 具体的 mask 书写还需要开发者根据业务需要去制定,我们来看一个简单的例子...TextBoxRegex TextBoxRegex 允许按照使用正则表达式或内建的校验类型来做文本校验,和 TextBoxMask 比较类似,一个是输入完成后触发校验,输出校验结果;一个是输入中只能按照正确的结果输入...总结 到这里我们就把 UWP Community Toolkit 中的 Extensions 的种类和简单的代码调用讲解完成了,希望这些扩展对大家开发 UWP 应用有所帮助,如果大家有更好用的扩展类,也欢迎大家给

    1.7K120

    WPF依赖属性(wpf 依赖属性)

    通过下面的示例来演示属性变更通知 示例:当鼠标移动到Button按钮上面时,文字的前景色变为红色,离开时变为默认颜色黑色,采用传统方式和依赖属性两种方式实现: (1)、使用传统方式实现,在Button按钮上定义...使用DependencyProperty.Register方法来注册依赖属性,或者是使用DependencyProperty.RegisterReadOnly方法来注册 3、使用.NET属性包装依赖属性...在类上实现属性时,只要该类派生自 DependencyObject,便可以选择使用 DependencyProperty 标识符来标示属性,从而将其设置为依赖属性。...和TextBlock,TextBlock上面字体的前景色随TextBox里面输入的颜色而改变,如果TextBox里面输入的值可以转换成颜色,TextBlock字体的前景色会显示输入的颜色值,如果不能转换...: 4、程序运行效果: 在TextBox里面输入正确的颜色值,前景色会显示为当前输入的颜色: 在TextBox里面输入错误的颜色值,前景色会显示为默认颜色: 发布者:全栈程序员栈长,转载请注明出处

    3K20

    打造一把UWP像素尺

    在特定应用里,我们需要用标尺来标识屏幕上的像素。然而唯一内置的尺是在InkToolbar控件里的,我们没法拿出来用。今天我就教大家如何自己打造一把UWP引用里随处可用的像素尺。 ?...使用NuGet将Win2D安装到我们的工程里: Install-Package Win2D.uwp 创建PixelRuler用户控件 在工程里添加一个名为“PixelRuler.xaml”的用户控件...Win2D能够在CanvasControl上绘制图形,因此我们需要添加一个名为“RulerCanvas”的CanvasControl,之后我们会在它上面绘制像素尺。...现在你了解了如何使用Win2D在CanvasControl上绘制图形并在一个应用页面里使用的过程,让我们来更深入的完成这把尺子。 绘制刻度 一把尺有小刻度和大刻度,我们允许用户自定义刻度的步长。 ?...GitHub上: https://github.com/EdiWang/PixelRulerUwp 你也可以在微软应用商店找到样例APP: https://www.microsoft.com/en-us

    1.4K20

    本地化入门

    前言 上一篇文章介绍了各种WPF本地化的入门知识,这篇文章介绍UWP本地化的入门知识。 2....使用resw资源文件实现本地化 在以前的XAML平台,resx资源文件是一种很方便的本地化方案,但在UWP中微软又再次推荐x:Uid方案,默认的资源文件也变成resw资源文件。...路径中的"zh-CN"、"en-US"称为资源限定符,用于支持多种显示比例、UI 语言、高对比度设置等,具体可参考Load images and assets tailored for scale, theme...只在设置页面及菜单这些在切换语言时不会重新加载的UI上使用Binding,其它地方不变,这样简单的动态切换语言就实现了。运行结果如上,可以看到TextBox右键菜单仍未切换语言,需要重新启动。...在“AssemblyInfo.cs”添加如下代码: [assembly: NeutralResourcesLanguage("en-US")] 这样就可以在UWP中使用resx资源文件了。

    2.8K40

    DependencyProperty.UnsetValue 的正确打开方式

    在 DependencyProperty.UnsetValue 的定义中,只是为了让大家调试的时候显示 DependencyProperty.UnsetValue 而已。...但是有人会问:null 在调试的时候也会显示 null 啊,为啥不用 null,要特别准备一个值呢? 这是因为在绑定中,null 可能是一个合理的值,可能会被故意用在绑定中来达到某种目的。...于是如果绑定需要依赖于实际的控件,那么实际上 Binding 和 MarkupExtension 会至少执行两次,其中第一次便是模板中的那一次。...我们应该如何正确使用 DependencyProperty.UnsetValue?...在注册依赖项属性的时候,不要使用 DependencyProperty.UnsetValue 作为默认值。 这个值本意其实并不是在说“未设置”,而是代表“不合理”。默认值必须是“合理地”才行。

    1.2K30

    python-pptx 中 placeholder 和 shape 有什么区别?

    在 PowerPoint 中,placeholder 是占位符,用于在幻灯片中预定义某些元素。占位符通常用于文本、图像、图表等。...在 python-pptx 中,shape 指的是幻灯片中的所有形状,包括文本框、图片、图形(如矩形、圆形)等。shape 是一个更为通用的概念,它可以是任何形状对象,而不仅仅是一个占位符。...示例说明假设我们要创建一个包含占位符的模板幻灯片,并且我们希望在占位符中插入文本,同时在幻灯片中手动添加一个形状。我们可以用 python-pptx 库来实现这一需求。...= "这是正文占位符中的文本"# 在幻灯片上添加一个额外的形状(矩形)left = Inches(1)top = Inches(2)width = Inches(3)height = Inches(1...在代码中,我们在幻灯片的指定位置上创建了一个矩形,并向其添加了文本。这显示了 shape 的灵活性,因为我们可以自由调整其位置、大小和内容。

    53710

    WPF --- 非Button自定义控件实现点击功能

    引言 今天在做一个设置文件夹路径的功能,就是一个文本框,加个按钮,点击按钮,弹出 FolderBrowserDialog 再选择文件夹路径,简单做法,可以直接 StackPanel 横向放置一个 TextBox...和一个 Image Button,然后点击按钮在 后台代码中给 ViewModel 的 FilePath赋值。...目标 做这个设置文件夹路径的功能,我的目标是点击任何地方都可以打开 FolderBrowserDialog,那就需要把文本框,按钮作为一个整体控件,且选择完文件夹路径后就给绑定的 ViewModel 的...准备工作 首先,既然要设计一个整体控件,那么 UI 如下: 接下来创建这个整体的控件,不使用 Button ,直接使用 Control,来创建自定义控件 OpenFolderBrowserControl... 这样创建的控件实际上是没有点击功能的

    84210
    领券