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

了解模板化控件(9):UI指南

借用附加属性 以TextBox为例,TextBox包含一个ScrollViewer部件,想要通过属性控制这个ScrollViewer,其中一种做法是TextBox添加各项属性,然后ControlTemplate...="True" ScrollViewer.IsDeferredScrollingEnabled="True" /> TextBox的ControlTemplateScrollViewer...例如,前述例子的DateTimeSelector包含一个TimePicker部件,可以公开一个TimePickerStyle属性TimePicker绑定到这个属性。...在上面这段XAML,如果DateTimeSelector.IsTabStop=True,TextBox上需要输入两次“Tab”DateTimeSelector内的CalendarDatePicker...幸好现在的主流是扁平化的简单的设计,UWP按钮的模板被大大简化: <ContentPresenter x:Name="ContentPresenter" BorderBrush="{TemplateBinding

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

使用离散式关键帧播放动画

如果不是追求动画效果,日常工作DiscreteDoubleKeyFrame基本上没什么作为(Github上DiscreteObjectKeyFrame有132K的搜索结果,DiscreteDoubleKeyFrame...> 上面的XAML是一个Like按钮(模仿某个不存在的网站)的ControlTemplate,ScrollViewer用于裁剪超出范围的内容,里面包含一张由29张100 X 100的图片拼接而成的长图片...的OnChecked函数启动一个Storybord,使用DiscreteDoubleKeyFrameImage一秒内向左平移100像素,这样就达到了播放动画的效果: ?...结语 这篇文章的代码WPF和UWP上的实现几乎一样,有兴趣的话也可以WPF上试试。...LikeButton的动画抄自Codepen,CSS离散动画实现起来很简洁: .heart { width: 100px; height: 100px; background: url(

73420

UWP第三方简书客户端分享

异步线程的处理我在上一篇《讲讲我Windows10(uwp)开发遇到的一些坑》已经说过了.这里说下贴一下异步Command的代码: public class AsyncCommand : AsyncCommandBase...对于UWP的下拉刷新,我博客园里看到了几种实现方式: UWP的一种下拉刷新实现 只贴了一种,因为目前实现下拉刷新的方式都是ListView外部套一个ScrollViewer来实现,这种实现方式有个严重的问题就是...同时我已经把这个代码封装成一个单独的控件,你可以从下面的链接获取到源码: https://github.com/youngytj/uwp_PullToRefreshListview 使用方式只要在xaml...使用了MVVMLight,所有的界面都以嵌入的方式放入MainPage....这个客户端其实还有很多不好的地方,比如对于异步线程启动关闭的控制不足,缺少log,缺少对于缓存的系统的管理,还有导航系统的不足,不同网络的环境下的客户端优化的问题.但是我认为仅仅作为一个研究学习的项目,

1.6K50

win10 uwp 如何判断一个控件滚动条的里面是用户可见

UWP 如何知道一个元素是滚动条的显示大小内用户可以看到这个控件?如果需要在控件滚动条里面用户可以看到的时候触发某个事件,在用户看不到的时候触发另一个事件可以怎么做?...昨天星期八再娶你 大佬问我如何判断滚动条内可以看到某个元素,他需要在滚动条里面放一个视频播放器,在用户看不到这个播放器的时候自动停下这个播放器 UWP 的判断会比 WPF 复杂一些,我写过WPF...如何判断一个控件滚动条的里面是用户可见但是 UWP 的小伙伴,也就是做 UWP 的大佬对 API 的设计会更加诡异 UWP 没有 ScrollChanged 事件只有ScrollViewer.ViewChanged...LayoutUpdated可以控件第一次加载的时候触发,可以在用户滚动的时候触发 LayoutUpdated 通过判断控件的左上角坐标和控件的大小可以判断用户是否可以看到这个控件 UWP...事件同时使用,这样就可以拿到用户滚动和修改大小 uwp - XAML ScrollViewer’s child bring into view event - Stack Overflow

91120

win10 uwp 禁用 ScrollViewer 交互

如果在 UWP 有一个控件里面有 ScrollViewer 控件,那么因为默认的 ScrollViewer 会使用触摸的交互,这样控件就收不到触摸的交互 通过 VerticalScrollMode="...Disabled" HorizontalScrollMode="Disabled" 可以关闭 ScrollViewer 交互 接下来就是简单告诉大家如何使用 ScrollViewer 禁用默认交互还让...ScrollViewer 滑动,先创建一个简单的 UWP 项目 打开 xaml 添加一点代码,创建一个 Canvas 放在 ScrollViewer 内,在里面放一个矩形,通过这个矩形就可以知道有没有移动...ManipulationDeltaRoutedEventArgs e) { } 这里需要设置 Grid 的背景和设置 ManipulationMode 可以水平或垂直,设置 Grid 的背景是...Grid 有命中测试,这样 UWP 才知道用户点击到哪个控件,通过 ManipulationMode 才可以事件知道可以如何做 那么如何 Grid 接收到 Manipulation 或者 Pointer

77650

XAML的响应式布局技术

而且和网页不同,WPF窗体默认没有提供ScrollViewer,所以千万不能忘记。桌面客户端合理使用以上技术可以避免客户投诉。但UWP主打跨平台,它需要更先进(或者说,更激进)的技术。 2....响应式设计技术 微软的官方文档介绍了UWP响应式设计常用的6个技术,包括重新定位、调整大小、重新排列、显示/隐藏、替换和重新构建,具体可见以下网站: ?...使用AdaptiveTrigger可以做到前一节中提到的UWP响应式设计常用的6个技术,除了UWP自带的AdaptiveTrigger,也可以自定义StateTriggerBase,这将在下一篇文章中介绍...说到性能,UWP的很多场景都为已经死了多年的WindowsWobile考虑了性能,更不用说现在的桌面平台,所以做UWP不需要太过介意性能,尤其是已经WPF上培养出小心翼翼的习惯的开发者,UWP的性能问题等真的出现了再说...参考 采用 XAML 的响应式布局 - UWP apps Microsoft Docs 响应式设计技术 - UWP apps Microsoft Docs 响应式设计的屏幕大小和断点 - UWP apps

2.3K10

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

win2d CanvasVirtualControl win10 uwp xaml 兼容多个版本条件编译 win10 uwp xaml 绑定接口 win10 uwp xBind 无法获得资源 win10...UWP 九幽数据分析 win10 UWP 九幽登录 win10 uwp 从 Unity 创建 win10 UWP 你写我读 win10 uwp 使用 Geometry resources xaml...如何拖动一个TextBlock的文字到另一个TextBlock win10 uwp 如何 Page 继承泛型类 win10 uwp 如何一个集合按照需要的顺序进行排序 win10 UWP 序列化...win10 uwp 获取文件夹出错 win10 uwp 获得元素绝对坐标 win10 uwp 获得缩略图 win10 uwp 萤火虫效果 win10 uwp 焦点在点击页面空白处时回到textbox... win10 uwp 设置 HttpClient 浏览器标识 win10 UWP 访问网页 win10 uwp 读写csv win10 uwp 读写XML win10 uwp 调试软件启动 win10

10.4K20

UWP 扩展自定义标题栏的方法,一些概念和一些注意事项

继续借用那篇文章的图: ? 其中,Window 是对 CoreWindow 的封装,提供了更多与 XAML 相关的功能。...// TitleBar 是我 XAML 写的一个 x:Name="TitleBar" 的控件。 Window.Current.SetTitleBar(TitleBar); ?...▲ 更高的标题栏,或者被遮挡 事实上,指定为标题栏的控件可以界面的任何地方,不需要一定在顶部。只不过,绝大多数不作死的应用都不会这样设置吧! 什么时机调用?...阅读 理解 UWP 视图的概念, UWP 应用显示多个窗口(多视图) 了解如何编写多个视图的 UWP 应用,了解非主要视图的初始化时机。...当然,如果你比较极客,从 Main 函数开始写 UWP 应用,就像我 为了理解 UWP启动流程,我从零开始创建了一个 UWP 程序 一文做的一样,那么你也需要等到初始化完毕之后才能调用(至少是

1.1K10

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

添加引用时注意选择 SDK 的版本号 ? ▲ 添加 Windows.Foundation.UniversalApiContract.winmd ?...添加到你的 WPF 界面: 拖拽到界面设计器 拖拽到 XAML 代码行 直接在 XAML 代码写 ?...button.Click += UwpButton_Click; } private void UwpButton_Click(object sender, RoutedEventArgs e) { } 可以忽略的错误 启动的时候...因为我们不是原生的 UWP,而是 Host WPF UWP 控件,所以会没有 Application。这在 UWP 控件初始化内部已经 catch 了,所以你可以忽略。...关于 DPI 适配 为了 UWP 控件能够 WPF 窗口中获得正确的 Per-Monitor 的 DPI 适配效果,你需要设置为 PerMonitorV2 的 DPI 感知级别。

4.5K20

扩展GridView控件——为内容项添加拖放及分组功能

本文主要介绍了扩展GridView控件——称为GridViewEx, GridViewEx主要实现GridView不同大小的内容项的拖拽功能。...BeforeDrop事件的Handler,使用 NewGroupIndex 创建新的数据组,并插入到已有组集合。最后,需要实现的扩展GridView控件模板。...该方法,可以设置Item的RowSpan或ColumnSpan属性来识别内容项的大小。 即生成继承GridViewEx的新控件MyGridView。...本示例,我们使用JSON 字符串简化数据序列化。根据已有的数据、数据的大小及需求,以其他格式来保存数据。我们主要将“业务对象集合”保存。 为了节省布局空间。...到此已经实现了GridView项与Windows8开始菜单具有的相同用户体验,如果你想了解如何在Windows10平台下开发UWP引用,请持续关注下篇文章:如何在Windows10开发UWP应用

2.9K50
领券