如何将 C# 中的标签添加到 XAML 代码中的网格中?

2024-01-21

我有这个模板:

<?xml version="1.0" encoding="UTF-8"?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms" 
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
             x:Class="Japanese.Templates.PointReductionModeTemplate" x:Name="this">
    <StackLayout BackgroundColor="#FFFFFF" Padding="20,0" HeightRequest="49" Margin="0">
        <Grid VerticalOptions="CenterAndExpand" x:Name="ABC">

        </Grid>
    </StackLayout>
</ContentView>

如何使用此文本和样式将此标签添加到 C# 中的网格?请注意,我希望能够参考Source={x:Reference this} also

<Label Text="{Binding Text, Source={x:Reference this}}" Style="{StaticResource LabelText}" />

您可以使用SetBinding()使用父级(this)作为绑定源时创建绑定。显式指定源参数告诉Binding将该实例称为Source.

//<Label Text="{Binding Text, Source={x:Reference this}}" ...
var label = new Label();
label.SetBinding(Label.TextProperty, new Binding(nameof(Text), source: this));

现在设置Style动态地从资源中获取并不那么简单。当我们使用StaticResource https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Xaml/MarkupExtensions/StaticResourceExtension.csXAML 中的扩展,它负责沿着视觉树查找匹配的资源(样式)。在代码隐藏中,您必须手动定义确切的资源字典,样式在其中定义。

因此,假设您在 App.xaml 中定义了“LabelText” - 您可以使用以下代码:

//... Style="{StaticResource LabelText}" />
//if the style has been defined in the App resources
var resourceKey = "LabelText";

// resource-dictionary that has the style
var resources = Application.Current.Resources;

if (resources.TryGetValue(resourceKey, out object resource))
    label.Style = resource as Style;

如果样式在 PointReductionModeTemplate.xaml 中定义(或ContentView资源),您也可以使用:

var resources = this.Resources;
if (resources.TryGetValue(resourceKey, out object resource))
    label.Style = resource as Style;

最后将标签添加到网格中。

this.ABC.Children.Add(label);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 C# 中的标签添加到 XAML 代码中的网格中? 的相关文章

  • 使用链表进行堆排序

    我想知道是否有人曾经使用链表进行堆排序 如果他们可以提供代码 我已经能够使用数组进行堆排序 但尝试在链表中进行排序似乎不切实际 而且在你知道的地方很痛苦 我必须为我正在做的项目实现链接列表 任何帮助将不胜感激 我也用C 答案是 你不想在链表
  • 关于逻辑/算法的想法以及如何防止线程写入 Sql Server 中的竞争

    我有以下逻辑 public void InQueueTable DataTable Table int incomingRows Table Rows Count if incomingRows gt RowsThreshold async
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • 在 Mono 中反序列化 JSON 数据

    使用 Monodroid 时 是否有一种简单的方法可以将简单的 JSON 字符串反序列化为 NET 对象 System Json 只提供序列化 不提供反序列化 我尝试过的各种第三方库都会导致 Mono Monodroid 出现问题 谢谢 f
  • 如何在 C# 中将 Json 转换为对象

    我想将 Json 转换为 C 中的对象 这里的 Json 是 值 e920ce0f e3f5 4c6f 8e3d d2fbc51990e4 如何使用 Object 问题看似愚蠢 但其实并不那么愚蠢 我没有简单的 Json 我有 IEnume
  • 混合模型优先和代码优先

    我们使用模型优先方法创建了一个 Web 应用程序 一名新开发人员进入该项目 并使用代码优先方法 使用数据库文件 创建了一个新的自定义模型 这 这是代码第一个数据库上下文 namespace WVITDB DAL public class D
  • Linux 上的 RTLD_LOCAL 和dynamic_cast

    我们有一个由应用程序中的一些共享库构成的插件 我们需要在应用程序运行时更新它 出于性能原因 我们在卸载旧插件之前加载并开始使用新插件 并且只有当所有线程都使用旧插件完成后 我们才卸载它 由于新插件和旧插件的库具有相同的符号 我们dlopen
  • 测量进程消耗的 CPU 时钟

    我用 C 语言编写了一个程序 它是作为研究结果创建的程序 我想计算程序消耗的确切 CPU 周期 精确的循环次数 知道我怎样才能找到它吗 The valgrind tool cachegrind valgrind tool cachegrin
  • LinkLabel 无下划线 - Compact Framework

    我正在使用 Microsoft Compact Framework 开发 Windows CE 应用程序 我必须使用 LinkLabel 它必须是白色且没有下划线 因此 在设计器中 我将字体颜色修改为白色 并在字体对话框中取消选中 下划线
  • 在 azure blob 存储中就地创建 zip 文件

    我将文件存储在 Blob 存储帐户内的一个容器中 我需要在第二个容器中创建一个 zip 文件 其中包含第一个容器中的文件 我有一个使用辅助角色和 DotNetZip 工作的解决方案 但由于 zip 文件的大小最终可能达到 1GB 我担心在进
  • 让网络摄像头在 OpenCV 中工作

    我正在尝试让我的网络摄像头在 Windows 7 64 位中的 OpenCV 版本 2 2 中捕获视频 但是 我遇到了一些困难 OpenCV 附带的示例二进制文件都无法检测到我的网络摄像头 最近我发现这篇文章表明答案在于重新编译一个文件 o
  • 我们可以通过指针来改变const定义的对象的值吗?

    include
  • 如何在C#中控制datagridview光标移动

    我希望 datagridview 光标向右移动到下一列 而不是在向单元格输入数据后移动到下一行 我试图通过 dataGridView1 KeyDown 事件捕获键来控制光标 但这并不能阻止光标在将数据输入到单元格后移动到下一行 提前感谢你的
  • 构建 C# MVC 5 站点时项目之间的处理器架构不匹配

    我收到的错误如下 2017 年 4 月 20 日构建 13 23 38 C Windows Microsoft NET Framework v4 0 30319 Microsoft Common targets 1605 5 警告 MSB3
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • 在 C# 的 WebAPI 中的 ApiController 上使用“传输编码:分块”提供数据

    我需要服务分块传输使用编码数据API控制器 因为我无权访问HttpContext or the Http请求 我有点不知道在哪里写入响应以及在哪里刷新它 设置如下 public class MyController ApiControlle
  • 如何高效计算连续数的数字积?

    我正在尝试计算数字序列中每个数字的数字乘积 例如 21 22 23 98 99 将会 2 4 6 72 81 为了降低复杂性 我只会考虑 连续的数字 http simple wikipedia org wiki Consecutive in
  • 任何人都可以清楚地告诉如何在不使用像 这样的预定义函数的情况下找到带有小数值或小数值的指数吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 例如 2 0 5 1 414 所以想要 我是 c 的新手 所以请解释简单的逻辑 如果不是复杂的逻辑也足够了 在数学中 从整数取幂到实数
  • 如何组合两个 lambda [重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中组合两个 lambda 表达式 https stackoverflow com questions 1717444 combining two lamba expressions in c
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其

随机推荐

  • 主管 - 用户名无效[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试在 Ubuntu 16 04 上运行主管 安装时没有出现问题 我创建了文件 etc supervisor conf d test
  • Java可以删除到回收站吗?

    Java是这里的关键 我需要能够删除文件 但用户希望能够从回收站 取消删除 据我所知这是不可能的 还有人知道吗 十年后 Java 9 终于提供了一种将文件移动到垃圾箱的内置方法 java awt Desktop moveToTrash ja
  • AWS Transcribe Streaming BadRequestException:“无法解码音频流...”

    我正在使用 Websockets 在 Dart Flutter 中构建一个 Transcribe Streaming 应用程序 当我流式传输测试音频 从单声道 16kHz 16 位签名的小端 WAV 文件中提取 时 我得到 BadReque
  • 覆盖身份验证失败处理程序 - Symfony2

    我正在扩展身份验证失败处理程序 一切都主要工作正常 但有一个小问题 这是我的 services yml http utils class class Symfony Component Security Http HttpUtils aut
  • 如何使用 css3 校正鱼眼全景图?

    我觉得是时候将我的 Flash 全景图转换为 js html5 css3 了 我见过一些使用单独的平面图像的优雅解决方案 但我的都是鱼眼 我的直觉告诉我 使用 webkit transform matrix3d 是可行的 但我不太喜欢它 如
  • 在 Android 上运行 Perl 脚本

    我需要运行 Perl 脚本 ishybrid pl http manpages ubuntu com manpages natty man1 isohybrid pl 1 html 来自我的 Android 应用程序 我碰到perl and
  • 更改 FontAwesome 图标与悬停时的文本

    我正在尝试为我的网站创建响应式功能 基本上我想要的是有很棒的字体图标用于导航 但是在计算机上如果将鼠标悬停在图标上 它就会变成一个单词 我已经通过 CSS 尝试过 使用a content 进而a hover content 我以前从未尝试过
  • C#/.NET 4.0 中新的 NoPIA 和类型等效功能是否意味着不再需要 Microsoft.mshtml.dll

    我正在维护一个基于 WPF 的应用程序 其中包含一个基于 WinForms 的 WebBrowser 控件 该控件基于 IE Web 浏览器控件 当我们部署时 我们还必须提供微软 mshtml dll并为我们的 ClickOnce 发布流程
  • cudaStreamSynchronize vs CudaDeviceSynchronize vs cudaThreadSynchronize

    这三个函数 特别是最后两个函数有什么区别 图书馆手册说 请注意 此函数已被弃用 因为它的名称不 反映其行为 它的功能类似于 未弃用的函数 cudaDeviceSynchronize 应使用 反而 但不太确定这是什么意思 这些都是barrie
  • AngularJs 中隐藏的可见性?

  • Android Studio 1.1.0 中变量值更改中断?

    我知道我可以在代码更改变量的每一行设置一个断点 但是是否有一个选项 例如右键单击变量 添加到监视 该选项会在变量更改值时停止 我认为C 有这个选项 看到这个 https stackoverflow com questions 871328
  • 如何设置浏览器滚动条滚动页面的一部分?

    我在一些网站上看到过这样做 一个例子是artofadambetts com http www artofadambetts com weblog p 169 页面上的滚动条仅滚动页面的一个元素 而不是整个页面 我查看了来源 但还没有弄清楚
  • 在 data.table 中使用不同的列嵌套 ifelse

    我需要计算 a 的某些列的每一行的 最佳值 data table 每行的最佳值是按选定列的给定顺序排列的第一个非 NA 列的值 根据要求 要包含的列可能会因顺序或数量而异 此外 应为每行存储提供最佳值的列的名称 示例数据 With libr
  • Jquery UI 可删除

    Jquery UI droppable 是否能够与计算机内的文件交互 假设我的电脑上有一个图像文件 而不是在webpage我尝试将其放在上面并触发一个简单的警报来通知 仅使用 Jquery UI 可以吗 对于您所描述的内容 请使用HTML5
  • Eclipse:缺少 Eclipse 应用程序启动配置

    我想在 eclipse 的运行 调试配置中选择 Eclipse 应用程序启动配置 用于运行 eclipse 插件 但它不存在 如何在运行 调试配置中添加 Eclipse 应用程序启动配置 我正在使用面向 Java 开发人员的 Eclipse
  • 如何将十六进制转换为十进制?

    我有不同的十六进制数据传入并存储到整数类型寄存器中 当我使用 fprint 时 我可以看到以下内容 0x3076 0x307c 但是 我想显示上述十六进制数据的十进制版本 如下所示 12406 12412 理论上 假设对于第一个值 您可以执
  • 无法将 FTP 连接到 Azure 虚拟机

    我在 Azure 中配置了 Windows Server 2012 虚拟机 当我尝试通过 FileZilla FTP 客户端连接到它时 我得到一个Could not connect to server error 到目前为止 这是我尝试过的
  • Angular.js 更新指令中的 SVG 模板

    不久前我问过 Angular js 在指令中渲染 SVG 模板 https stackoverflow com questions 19568226 angular js rendering svg templates in directi
  • 稳定基线不适用于张量流

    因此 我最近重新回到机器学习领域 并决定开始 ConnectX 的 Kaggle 课程 https www kaggle com learn intro to game ai and reinforcement learning https
  • 如何将 C# 中的标签添加到 XAML 代码中的网格中?

    我有这个模板