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

UWP:根据行数修剪TextBlock的文本

UWP(Universal Windows Platform)是微软推出的一种应用程序开发平台,它允许开发人员使用通用的API和工具来创建适用于多种Windows设备的应用程序,包括PC、手机、平板电脑、Xbox等。

在UWP中,可以使用TextBlock控件来显示文本内容。如果需要根据行数修剪TextBlock的文本,可以通过以下步骤实现:

  1. 确定要显示的文本内容,并将其赋值给TextBlock的Text属性。
  2. 使用TextBlock的ActualHeight属性获取实际显示的高度。
  3. 根据行高和实际显示高度计算出可以显示的行数。
  4. 使用TextBlock的TextTrimming属性将超出指定行数的文本修剪掉。

以下是一个示例代码,演示如何根据行数修剪TextBlock的文本:

代码语言:csharp
复制
// 假设TextBlock的名称为textBlock,行高为20像素,要显示的行数为3行
int lineHeight = 20;
int maxLines = 3;

// 设置要显示的文本内容
textBlock.Text = "这是要显示的文本内容";

// 等待TextBlock渲染完成
await textBlock.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
    // 获取TextBlock的实际显示高度
    double actualHeight = textBlock.ActualHeight;

    // 计算可以显示的行数
    int lines = (int)(actualHeight / lineHeight);

    // 如果超过指定行数,则修剪文本
    if (lines > maxLines)
    {
        // 获取要修剪的文本长度
        int trimLength = textBlock.Text.Length * maxLines / lines;

        // 修剪文本并添加省略号
        textBlock.Text = textBlock.Text.Substring(0, trimLength) + "...";
    }
});

这样,当TextBlock的文本内容超过指定行数时,就会自动修剪并添加省略号。

对于UWP开发,腾讯云提供了一系列相关产品和服务,例如:

  • 腾讯云开发者工具包(SDK):提供了丰富的API和工具,帮助开发人员在UWP平台上快速构建应用程序。详细信息请参考:腾讯云开发者工具包(SDK)
  • 腾讯云对象存储(COS):提供了可靠、安全、低成本的对象存储服务,适用于存储和管理应用程序中的各种数据。详细信息请参考:腾讯云对象存储(COS)
  • 腾讯云云服务器(CVM):提供了可扩展的云服务器实例,用于部署和运行UWP应用程序。详细信息请参考:腾讯云云服务器(CVM)

请注意,以上仅为示例,实际应用场景和推荐产品可能因具体需求而异。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

win10 uwp 如何拖动一个TextBlock文字到另一个TextBlock

我在堆栈网看到有人问 如何拖动一个TextBlock文字到另一个TextBlock 于是看到一个大神给出方法,下面我就来和大家说下如何拖动 一开始我们需要一个界面,就放两个TextBlock 一个是源...其中拖放进入是设置鼠标显示字和其他东西,可以不要这个函数,不会影响功能。...UIElement sender, DragStartingEventArgs args) { //开始拖放 //设置拖放文字,文字是我们点击TextBlock...async void Txttarget_OnDrop(object sender, DragEventArgs e) { //如果有文字,那么就是把他放在要拖放TextBlock...问题原文: https://stackoverflow.com/questions/41662650/how-to-move-text-from-one-textblock-to-another-textblock-using-drag-and-drop-in

46310

win10 uwp 如何拖动一个TextBlock文字到另一个TextBlock

我在堆栈网看到有人问 如何拖动一个TextBlock文字到另一个TextBlock 于是看到一个大神给出方法,下面我就来和大家说下如何拖动 一开始我们需要一个界面,就放两个TextBlock 一个是源...其中拖放进入是设置鼠标显示字和其他东西,可以不要这个函数,不会影响功能。...UIElement sender, DragStartingEventArgs args) { //开始拖放 //设置拖放文字,文字是我们点击TextBlock...async void Txttarget_OnDrop(object sender, DragEventArgs e) { //如果有文字,那么就是把他放在要拖放TextBlock...detail/lindexi_gd/9739764 问题原文: https://stackoverflow.com/questions/41662650/how-to-move-text-from-one-textblock-to-another-textblock-using-drag-and-drop-in

21810

New UWP Community Toolkit - DropShadowPanel

概述 UWP Community Toolkit  中有一个为 Frmework Element 提供投影效果控件 - DropShadowPanel,本篇我们结合代码详细讲解  DropShadowPanel...DropShadowPanel 提供阴影效果有很多应用场景,比如给文本提供阴影,可以让文本在背景变化时可以明显显示,比如地图上标尺文本;应用在图形或图片时,可以设置阴影效果,另外它有很多参数可以调整... UpdateShadowMask(),负责更新投影 mask: 根据需要设置投影 Content 类型,Image,Shape,TextBlock 或 ImageExBase,使用 GetAlphaMask...TextBlock,其中一个应用了 DropShadow,一个未应用,可以看出,应用了 DropShadow 一个,文本明显会有模糊黑色阴影; <Grid Background="{ThemeResource...总结 到这里我们就把 <em>UWP</em> Community Toolkit 中<em>的</em> DropShadowPanel 控件<em>的</em>源代码实现过程和简单<em>的</em>调用示例讲解完成了,希望能对大家更好<em>的</em>理解和使用这个控件有所帮助。

94470

win10 uwp 使用 Border 布局

UWP 写一个界面需要将元素排列,在排列元素时候有特殊元素叫容器。容器意思是元素里面包含元素,在 UWP 用到容器有很多,也可以自己写一个。...就知道需要将这个元素放在水平哪里 定义 VerticalAlignment 就是告诉外层需要将这个元素放在垂直哪里,详细请看 win10 uwp 一张图说明水平对齐和垂直对齐 在 Border 里面只能放一个元素...,上面代码是一个文本,运行代码可以看到这个界面 ?...在 VisualStudio 2017 可以在 UWP 运行修改 xaml 代码修改界面,在 Border 控件定义边框 边框包括两个需要定义属性,一个是边框线条宽度,另一个是边框颜色。...在 TextBlock 是没有背景属性,那么如何给一段文字修改背景?可以使用 Border 里面放文本,通过修改背景方法。

1.1K20

Extensions in UWP Community Toolkit - Overview

概述 UWP Community Toolkit  中有一个 Extensions 集合,它们可以帮助开发者实现很多基础功能,省去自己造轮子过程,本篇我们先来看一下 Extensions 功能都有哪些...方便行数字类型值切换。...[a-Z] 大小写字母;2. [0-9] 数字;3. * 表示前两种都可以;除此之外,还可以支持固定字符,如 ‘-’ 这种不允许修改占位符; 具体 mask 书写还需要开发者根据业务需要去制定,我们来看一个简单例子...,可以看到 Email 为 Normal 模式,所以文本不会清空,而剩余两个都是 Forced 模式,失去焦点时文本清空; <StackPanel Orientation="Vertical" VerticalAlignment...总结 到这里我们就把 UWP Community Toolkit 中 Extensions 种类和简单代码调用讲解完成了,希望这些扩展对大家开发 UWP 应用有所帮助,如果大家有更好用扩展类,也欢迎大家给

1.3K120

UWP 开发中,需要知道1000个问题

ListView 如果需要设置 WPF ListView 宽度,可以使用HorizontalContentAlignment="Stretch" UWP 设置文本使用文字图标 在 UWP 很经常看到这样图标...使用 TextBlock 和 FontIcon 差不多 参见:Segoe MDL2...GBK 读取文本 win10 uwp 读取文本GBK错误 - CSDN博客 判断 ctrl 按下 判断 ctrl 按下,可以使用: (Window.Current.CoreWindow.GetKeyState...UWP 获取软件版本 UWP 获取自己软件版本可以和服务器比较,判断当前是否需要升级,那么可以使用下面的代码获得 UWP 应用版本 Windows.ApplicationModel.Package.Current.Id.Version...1.1.0 UWP 工具类库控件库 HappyStudio.UwpToolsLibrary 1.0.4 给UWP工具类库其他模块使用依赖类库 WinRT XAML Toolkit for Windows

1.5K20

New UWP Community Toolkit - Markdown

UWP Community Toolkit 对 Markdown 解析和渲染提供了完整支持,即使复杂 Markdown 文本,也可以在低配置硬件上获得流畅体验。...ICodeBlockResolver.ParseSyntax(a,b,c) - 解析代码块语法,如果没有复制,则根据系统主题和富文本控件默认样式初始化一个值 private void RenderMarkdown...存放文本,包含样式;public Parse 方法复杂解析和整理文本/链接文本;internal Parse 方法负责实际解析工作,按照 MarkdownBlock 类型分别解析每种 Block...这个类定义了每种不同类型 Block 和 Inline 渲染;我们看到两个主要方法:RenderBlock 和 RenderInline,根据不同类型,分别进行渲染。...我们在实现 Renderer 功能时候,可以继承 MarkdownRendererBase 类,像 MarkdownTextBlock 那样,也可以根据自己需求,做一些类型定制化。

1K70

给WPF一个HyperlinkButton

如果HyperlinkButton内容是文本,当MouseOver时UnderlineTextBlock就会显示UnderlineTextBlock。...而UWPHyperlinkButton下划线是代码里写死,大概是这样: if (VisualTreeHelper.GetChildrenCount(contentPresenter) == 1...UWP很多使用代码控制样式行为,通常宣称理由是为了性能,但Button是整个UI中最不需要性能部分,毕竟一个UI中不可能有几百个Button,就算有几百个HyperlinkButton,现代UI框架也不可能仅仅因为下划线就导致性能下降...所以我认为没必要在代码里控制下划线显示。 而无论Silverlight还是UWP,只要HyperlinkButtonContent不是纯文本就不能显示下划线,这应该也算一个功能缺陷。...(我记得在UWP中就没有这个问题,UWPContentPresenter自带透明背景) 4. 结语 HyperlinkButton明明很重要但WPF又不提供,幸好自己写起来也很简单。

1.1K20

UWP 开发中,需要知道1000个问题

ListView 如果需要设置 WPF ListView 宽度,可以使用HorizontalContentAlignment="Stretch" UWP 设置文本使用文字图标 在 UWP 很经常看到这样图标...使用 TextBlock 和 FontIcon 差不多 参见:Segoe MDL2...GBK 读取文本 win10 uwp 读取文本GBK错误 - CSDN博客 判断 ctrl 按下 判断 ctrl 按下,可以使用: (Window.Current.CoreWindow.GetKeyState...UWP 获取软件版本 UWP 获取自己软件版本可以和服务器比较,判断当前是否需要升级,那么可以使用下面的代码获得 UWP 应用版本 Windows.ApplicationModel.Package.Current.Id.Version...1.1.0 UWP 工具类库控件库 HappyStudio.UwpToolsLibrary 1.0.4 给UWP工具类库其他模块使用依赖类库 WinRT XAML Toolkit for Windows

2.2K20

win10 uwp 列表模板选择器 根据数据位置根据不同数据

本文主要讲ListView等列表可以根据内容不同,使用不同模板列表模板选择器,DataTemplateSelector。...如果在 UWP 需要定义某些列显示和其他列不同,或者某些行显示和其他行不同,那么可以使用 列表模板选择器 来定义自己列表,让列表中存在不同显示。...我分为两个不同方向来讲,第一个方向是根据数据所在位置不同,选择不同显示。第二个方向是根据数据不同。...根据数据位置 本文告诉大家如何做出下面的控件,可以看到这使用是 ListView ,但是第一个元素显示和其他元素不同,看起来就是面包屑导航 ?...根据不同数据 例如我们做了一个类,叫做 人,这时我们继承人做出来 男生 和女生,那么男生属性可能和女生不同。所以需要对不同数据有特殊显示。

1.2K10

Windows Community Toolkit 3.0 新功能

本文告诉大家一个令人震惊消息,Windows Community Toolkit 有一个大更新,现在版本是 3.0 。最大提升就是 WinForm 和 WPF 程序可以使用部分 UWP 控件。...修改命名就是最大更新,本文完(不要打我) 新版本不重要更新是 支持在 WPF 和 WinForms 使用新控件,包括 Edge 浏览器 所有的 UWP 可以在 Xaml 开启 eye...因为 UWP 开发需要指定最低平台,而且对不同平台可以不同 API ,以前只能通过看文档才知道现在有哪些API是可以使用,现在可以安装Microsoft.Toolkit.Uwp.PlatformSpecificAnalyzer...Background="DarkSalmon"> <TextBlock...详细文档:UniformGrid XAML Control InfiniteCanvas 这个控件提供无限长度滚动,支持在里面放笔迹、文本,支持缩放和撤销重做。可以简单把数据导出或加载。 ?

1.4K10

UWP ListView数据绑定

在制作UWP个人项目时需要用到数据绑定,网上教程大都不全,特此记录下自己使用方法。 绑定源 指定一个类用来保存数据,以我自己项目为例,需要定义“邮件”类。...MailSystem_UWP.Bean.Email namespace MailSystem_UWP.Bean { /* * mail_table: * id:int...进行了页面跳转,即使使用GoBack()来返回,原页面也会重新加载,因此建议使用静态类来避免数据丢失,并且修改集合时也不需要获取MainPage实例 创建绑定 在xaml文件头定义命名空间 由于我Email...类在MailSystem_UWP.Bean下,因此定义该命名空间为local xmlns:local="using:MailSystem_UWP.Bean" 在xaml文件Page标签内定义模板 <Page.Resources...内即为数据模板,ListView会根据模板逐一添加控件 现在为ListView加上ItemTemplate属性 <ListView x:Name="listView" ItemTemplate

1.4K10

win10 uwp 改变鼠标

经常在应用需要修改光标,显示点击、显示输入,但是有些元素不是系统,那么如何设置鼠标? 本文主要:UWP 设置光标,UWP 移动鼠标 设置光标 需要写一点代码来让程序比较容易看到,什么光标对于什么。...UWP 设置光标有些看不懂,直接看不知道他是干什么 在xaml写代码: <TextBlock Margin="10,10,10,10"...TextBlock 进入函数,可以在函数修改UWP 鼠标光标 首先使用Windows.UI.Xaml.Window.Current.CoreWindow.PointerCursor 设置或获取光标。...需要设置光标需要用Windows.UI.Core.CoreCursor 他有一些比较多用类型,下面是他们对于代码 Hand 点击 Arrow 正常 Cross 十字 Help 帮助...如果需要自己做,请看自定义光标 移动鼠标 有时候需要把鼠标移动到一个元素上,UWP 移动鼠标和改变光标一样。

33610

win10 uwp 如何开始写 uwp 程序 安装 VisualStudio创建应用启动流程显示 hellow

本文告诉大家如何创建一个 UWP 程序。...这是一系列 uwp 入门博客,所以写很简单 本文来告诉大家如何创建一个简单程序 安装 VisualStudio 在开始写 UWP 需要安装 VisualStudio ,安装需要从官网下载程序,或者使用网上大神做离线安装...这时就进行后台读取应用数据,一般软件在启动时候都需要读取配置,读取文件方法请看win10 UWP读写文件。 在读取完成配置之后一般还做模块初始化,注入。...添加文本 hellow ,添加文本方法是使用 TextBlock ,至于对于 Text 文本之外其他属性,我就不多说了。...更多 UWP 博客请直接看我博客,csdn博客:https://blog.csdn.net/lindexi_gd 个人博客: https://lindexi.gitee.io 在国内我是写 UWP

82110
领券