首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

了解模板化控件(10):原则与技巧

好的命名能让使用者用起来更得心应手,坏的命名只会让代码更混淆。下面总结了UWP控件命名的一般模式: 根据控件实际功能命名,譬如Button。 以父类型的名字作为后缀,如RepeatButton。...使用常用的后缀,如-Control、-Box、-Item、-View、-Viewer、-Bar。...一个完整的依赖属性定义可以有20行(属性标识符、属性包装器、PropertyChangedCallback等),而且其中一部分是静态的,另外一部分不是,在类中将一个依赖属性的所有部分放在一起,还是按静态...3.2 合并资源字典 如果一个项目的模板化控件太多,Generic.xaml会异常的复杂,可以将各个控件的资源文件分开存放,再在Generic.xaml中合并它们。...平时我看到很长的文章,都会“保存到Pocket”,然后就再也没读过。汲取了这个教训,这次的文章分成多篇,尽量每篇都控制在可以三五分钟内看完。

89330

本地化入门

使用resw资源文件实现本地化 在以前的XAML平台,resx资源文件是一种很方便的本地化方案,但在UWP中微软又再次推荐x:Uid方案,默认的资源文件也变成resw资源文件。...虽然后缀名只差了一个字母,但使用方式完全不同。最主要的区别是resw资源文件不会创建对应的Designer.cs类,这就导致本地化的实现方案完全不同。 ?...如项目中有如下两张图片: ? 在XAML中可以直接通过Images/Flag.png引用。...使用resx资源文件 既然UWP是XAML大家族的一份子,那么应该也可以使用resx资源文件实现本地化,毕竟生成resx对应代码的是PublicResXFileCodeGenerator,而不是UWP本身...解决方案是不在UWP应用项目中添加resx资源文件,而在类库中添加resx资源文件,这样连错误都不报了。 不知道Xamarin.Forms是不是也可以这样实现,毕竟它也是XAML大家族的一员。 6.

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

    WPF 使用 Microsoft.Toolkit.Wpf.UI.Controls 的 InkCanvas 时加上背景色和按钮方法

    本文来告诉大家如何在 WPF 应用 HOST 了 UWP 的 InkCanvas 控件时,给 InkCanvas 控件设置背景色,加上按钮等业务功能的实现方法 在上一篇博客有告诉大家如何在 WPF 里面使用上...这部分在官方博客有详细的说明,请参阅 Host a custom WinRT XAML control in a WPF app using XAML Islands - Windows apps 大概的做法就是新建两个...UWP 的项目,其中一个是 UWP 的空白应用项目,另一个是 UWP 的控件项目。...InkCanvas 控件添加背景色的方法上,在新建的 UWP 控件项目里面,添加一个自定义的控件,如 CustomInkControl.xaml 控件 在这个控件里面的 XAML 添加如下代码 的代码放在 github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码

    2.2K20

    win10 uwp xaml 兼容多个版本条件编译

    在 UWP 开发有一个坑就是存在很多SDK的版本,同时不同的系统带的SDK是不相同的,还好现在高版本的系统是可以支持低版本的程序的。...为了做到尽可能兼容,程序需要用到足够低的 SDK 版本,但是又存在很多新版本特性非常好用,那么如何在用户端判断当前的系统是哪个版本对应可以使用新版本的特性?...本文告诉大家如何设置 xaml 的条件编译 如果只需要在 cs 代码判断版本,那么可以使用星期大神的代码,请看UWP 判断系统版本 public class VersionsHelper { public...这里的 xaml 条件编译(Conditional XAML)就是 ApiInformation.IsApiContractPresent 提供的标记。...解决 UWP 控件和对老版本 Windows 10 的兼容性问题 - walterlv 参见 Conditional XAML UWP 判断系统版本

    45710

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

    由于微软支持的设备种类越来越多,导致ApplicationViewState不再适用。UWP平台提供了其他的解决方法如AdaptiveTriggers,内置了自适应布局。...无论是WinRT还是UWP应用,都会使用返回键导航。桌面WinRTx应用会在Xaml文件添加返回按钮。...但是在UWP应用中,非常灵活,桌面应用可以在标题栏中添加返回按钮,在移动设备中不仅能使用标题栏中的返回键,也可以使用物理返回键实现导航功能。UWP的方法比较通用,且不需要编写自定义的Xaml文件。...因此只需要开发一个基类,应用到不同的Xaml 页面中就可以实现轻松实现导航功能,不需要重复编写代码。...并且去掉了行和列自动展开的功能。下面是Windows8 版本的Xaml文件,在Windows10 中已经无法使用。

    2.8K80

    WPF 手绘对称图形控件

    本文来安利大家一个我刚做的控件,这个控件支持触摸下多指进行笔迹绘制,绘制过程中将会对称显示出水平和垂直翻转的笔迹。可以用来绘制对称图形。...我将这个控件在GitHub上完全开源,代码放在 https://github.com/lindexi/uwp 虽然这是放在 UWP 仓库的控件,但现在只支持 WPF 框架 下面来告诉大家如何使用这个控件...Lindexi.Control.WPFFlipDrawingCanvas -Version 1.0.0 如果是 SDK 风格的 csproj 文件格式,可以在此文件添加下面代码安装 使用控件 先在 XAML...了解了这两个问题,就可以很简单制作这个控件 我有一篇博客,告诉大家如何在 WPF 中使用简单的代码制作一个支持多指笔迹的控件,请看 WPF 最简逻辑实现多指顺滑的笔迹书写 在 WPF 中实现翻转特别简单

    89520

    WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit)

    ---- 关于 Windows Community Toolkit 早期版本的 Xaml Bridge,可以参见: WPF 使用 Edge 浏览器 - 林德熙 安装 NuGet 包 你需要做的第一步,是在你的...SDK 版本(如 16299,17763 等) Windows.Foundation.UniversalApiContract 在此目录下选择你的 API 版本(如 4.0.0.0...API 版本(如 3.0.0.0) 引用 Windows.Foundation.FoundationContract.winmd 在你添加完这些引用之后,还需要选中这些引用,右击属性,把所有的 “复制到本地...添加到你的 WPF 界面中: 拖拽到界面设计器中 拖拽到 XAML 代码行中 直接在 XAML 代码中写 ?...关于如何在 WPF 下开启 PerMonitorV2 级别的 DPI 感知可以参见: 支持 Windows 10 最新 PerMonitorV2 特性的 WPF 多屏高 DPI 应用开发 - walterlv

    4.7K20

    WPF 引用 UWP 控件 不打包为 MSIX 分发的方法

    按照微软的官方文档,大部分的文档都会说如果用了 XAML Islands 等技术的时候,需要新建一个打包项目,将 WPF 应用打包为 msix 等才可以进行分发和使用。...但是实际上不打包也可以,此时可以和此前的 Win32 应用一样的分发方式进行分发,可以支持到 Win7 系统,当然了在 Win7 系统上可用不了 UWP 的控件,但是至少应用软件自身可以在 Win7 继续运行的...就在 XAML 界面里面添加了 UWP 的控件,如笔迹控件。...选择加入此设置的 Windows 窗体应用程序(目标设定为 .NET Framework 4.6 )还应 在其 app.config 中将 "EnableWindowsFormsHighDpiAutoResizing...获取代码之后,进入 LaykearduchuNachairgurharhear 文件夹 更多 WPF 引用 UWP 做高性能笔迹文档请看: WPF 使用 Microsoft.Toolkit.Wpf.UI.Controls

    75750

    dotnet 从入门到放弃的 500 篇文章合集

    输出 C# 如何在项目引用x86 x64的非托管代码 C# 已知点和向量,求距离的点 C# 强转会不会抛出异常 C# 很少人知道的科技 C# 快速释放内存的大数组 C# 搜索算法 C# 获得设备usb...Page 继承泛型类 win10 uwp 如何让一个集合按照需要的顺序进行排序 win10 UWP 序列化 win10 UWP 应用设置 win10 uwp 异步转同步 win10 uwp 打开文件管理器选择文件...win10 uwp 自定义控件初始化 win10 uwp 获取指定的文件 win10 uwp 获取按钮鼠标左键按下 win10 uwp 获取文件夹出错 win10 uwp 获得元素绝对坐标 win10...好看的矢量图标 wpf 如何使用 Magick.NET 播放 gif 图片 WPF 如何在 WriteableBitmap 写文字 WPF 如何在应用程序调试启动 WPF 如何在绑定失败异常 WPF...Q# 如何使用 Telegram 如何使用本模板搭建博客 如何入门 C++ AMP 教程 如何写毕业论文 表格 如何删除错误提交的 git 大文件 如何在 UWP 使用 wpf 的 Trigger 如何安装

    10.4K20

    UWP基础教程 - XAML开篇

    )可扩展标记语言,在Windows 10 UWP、Windows 8、Windows Phone、Silverlight以及WPF技术框架下都可以使用XAML的语法作为应用UI界面的开发。...XAML简化了创建UI的过程,使UI编程更加简单明了,在使用XMAL的项目中,以".xaml"作为文件扩展名。...每个XAML页面都具有一个后台代码文件xaml.cs文件来控制页面逻辑处理,这就是微软典型的Code-Behind模式的编程方式,这一机制将用户界面设计和后台代码设计分割,这意味着项目组的UI同学可以使用.../winfx/2006/xaml/presentation是UWP的核心命名空间。...这些构建操作支持 XAML 标记编译器,并在编译应用时,将你的标记和代码隐藏文件组合到一起。你必须具有此类,才能支持对 XAML 页面实现代码隐藏。

    1.9K80

    win10 uwp 自定义控件入门

    本文告诉大家如何在 UWP 使用 CustomControl 自定义控件,在 UWP 的自定义控件的中文翻译是模板化控件,通过自定义控件可以完全控制整个控件的布局和渲染。...使用 xaml 写界面 在 UWP 主要的元素就是控件,可以说,整个 UWP 的界面都依靠控件画出来的。...,还需要在项目创建一个 Theme 文件夹,然后在这个文件夹里面添加 Generic.xaml 资源字典,从这个字典引用刚才创建的 Board 资源字典,才可以在使用的时候找到 在 Generic.xaml...xaml 文件的路径,注意这里必须使用 ms-appx:/// 开头,文件使用的是相对于项目的路径,如果使用的是相对于这个文件的路径,就会在运行的时候,在某个类的构造函数告诉 Failed to assign...在 UWP 通过 xaml 界面就可以知道控件的树结构,如果熟悉树这个结构就知道,可以使用递归的方式处理。

    90220

    win10 uwp 捕获后台线程异常

    本文告诉大家如何在 UWP 中捕获全局的后台线程异常,在出现后台线程异常时,将会让 UWP 程序闪退,但是在退出之前还是可以执行自己的代码 在 UWP 中,如果需要捕获前台线程,也就是 UI 线程的异常...,可以参见 UWP 中的全局异常处理 的方法 在 App 的构造函数添加 UnhandledException 事件,在事件方法里面通过参数 UnhandledExceptionEventArgs 可以设置当前这个异常是否被处理...,如设置为 true 那么就是被处理的异常,此时的应用不会闪退 public App() { this.InitializeComponent()...App_UnhandledException; } private void App_UnhandledException(object sender, Windows.UI.Xaml.UnhandledExceptionEventArgs...通过这个方法可以在软件退出前做日志记录 Application.UnhandledException Event (Windows.UI.Xaml) UWP 中的全局异常处理

    61510

    【译】基于XAML的跨平台框架对比分析

    这样有利有弊:好处在于我们选择有很多跨平台方案可以选择,坏处在于不同的框架有不同的对象模型以及各自的特有的XAML语法(dialect of XAML)。...WPF(最初的XAML框架)通常在运行时从XAML标记中构建整个视图,这在首次加载时可能会严重影响性能。...应用稳定性 MAUI的移动应用稳定性与Uno Platform排名相同;但是,在不同平台上遇到需要用大量针对特定情况的代码和标记来处理的布局问题是很常见的。...这是因为Visual Studio历来专注于windows平台框架,如WinForms、WPF、UWP和WinUI,并以不可扩展的方式对这些框架进行硬编码支持。...这不是他们的错,因为Microsoft不合理地支持使用 .xaml 文件的任何其他项目类型。

    1.1K20
    领券