首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何防止System.Xaml.XamlXmlWriter从我的MarkupExtension中转义?

如何防止System.Xaml.XamlXmlWriter从我的MarkupExtension中转义?
EN

Stack Overflow用户
提问于 2010-12-18 16:22:22
回答 1查看 277关注 0票数 1

我使用XamlServices.Transform获取一个对象模型并将其序列化为Xaml。

我实现了一个从覆盖WriteValue的XamlXmlWriter继承而来的类。我使用它将一个自定义MarkupExtension重新实例化到呈现的Xaml中。

当我将WriteValue中的“值”替换为MarkupExtension的语法时,XamlXmlWriter会自动为我转义MarkupExtension。

因此,假设我将值设置为"{MyExtension}“,呈现的xaml看起来像这样"{}{MyExtension}”--我想要未转义的旧版本。

目前,我正在对创建的xaml进行一个讨厌的替换(“=\”{}{MyExtension“,"{MyExtension}"),这是可行的,但并不美观。

有没有办法在这种转义继续进行的时候拦截Xaml的写入,并告诉它不要转义MarkUpExtension?或者,也许有更好的方法来呈现MarkUpExtension?

谢谢,

丹尼尔

EN

回答 1

Stack Overflow用户

发布于 2010-12-28 09:04:49

我知道您可以向将其转换为MarkupExtension的属性(或类型本身)添加TypeConverterAttribute。因此,如果应该使用MyExtension序列化MyClass,请使用(未经测试,来自内存,可能有输入错误):

代码语言:javascript
运行
AI代码解释
复制
[TypeConverter(typeof(MyClassToMyExtensionConverter))]
public sealed class MyClass { }

public sealed class MyExtension : MarkupExtension
{
    public override object ProvideValue(IServiceProvider sp) { return new MyClass(); }
}

public sealed class MyClassToMyExtensionConverter : TypeConverter
{
    public override bool CanConvertTo(ITypeDescriptorContext ctx, Type t) { return t == typeof(MarkupExtension); }
    public override object ConvertTo(ITypeDescriptorContext ctx, CultureInfo culture, object obj, Type t) { return ConvertToInternal((MyClass) obj); }
    private MyExtension ConvertToInternal(MyClass value) { return new MyExtension(); }
}

这是您正在寻找的,还是需要能够在XamlXmlWriter中实现?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4478890

复制
相关文章
ping不可以检查端口是否开放,telnet可以检查端口开放
1、ping ping命令工作在OSI参考模型的第三层-网络层。 ping命令会发送一个数据包到目的主机,然后等待从目的主机接收回复数据包,当目的主机接收到这个数据包时,为源主机发送回复数据包,这个测试命令可以帮助网络管理者测试到达目的主机的网络是否连接。 ping无法检查系统端口是否开放。 2、telnet Telnet是位于OSI模型的第7层---应用层上的一种协议,是一个通过创建虚拟终端提供连接到远程主机终端仿真的TCP/IP协议。这一协议需要通过用户名和口令进行认证,是Internet远程
用户1220053
2018/05/30
5.9K0
LeetCode 1497. 检查数组对是否可以被 k 整除(余数配对)
1. 题目 给你一个整数数组 arr 和一个整数 k ,其中数组长度是偶数,值为 n 。 现在需要把数组恰好分成 n / 2 对,以使每对数字的和都能够被 k 整除。 如果存在这样的分法,请返回 True ;否则,返回 False 。 示例 1: 输入:arr = [1,2,3,4,5,10,6,7,8,9], k = 5 输出:true 解释:划分后的数字对为 (1,9),(2,8),(3,7),(4,6) 以及 (5,10) 。 示例 2: 输入:arr = [1,2,3,4,5,6], k = 7
Michael阿明
2020/07/13
1.2K0
Google 现在可以更轻松地检查你的密码是否泄露
Google 拥有一个可在 Chrome 和 Android 之间同步的密码管理器,现在该公司正在添加“密码检查”功能,该功能将分析你的登录名,以确保它们不属于大规模密码泄露事件的一部分。密码检查功能此前已可以作为扩展程序使用,但是现在 Google 正在将其直接构建到 Google 帐户控件中。它会在 http://passwords.google.com(这是 Google 密码管理器的 URL)上突出显示。
用户8670130
2021/09/18
2.4K0
检查命名空间和类
类%XML.Namespaces提供了两个类方法,可用于检查XML命名空间及其包含的类:
用户7741497
2022/07/05
4290
LeetCode 5449. 检查数组对是否可以被 k 整除(195周赛)
arr.length == n 1 <= n <= 10^5 n 为偶数 -10^9 <= arr[i] <= 10^9 1 <= k <= 10^5 通过次数1,151提交次数3,489
freesan44
2020/06/29
9590
PHP检查对象或类中是否存在属性
$obj = \app\common\library\Email::instance(); $obj->p=889; if(isset($obj->p)){ echo 66; }else{ echo 99; } die; isset既可以判断对象的属性是否存在,也可以判断数组的键名是否存在 未经允许不得转载:肥猫博客 » PHP检查对象或类中是否存在属性
超级小可爱
2023/02/20
4.3K0
关于强命名程序集
如何创建强命名程序集(Strong Name Assembly)     创建一个强命名程序集首先需运维
Java架构师必看
2021/03/22
6600
这个断点可以帮你检查布局约束
前言:     在现在iOS布局中,估计有很多很多开发者会使用到 Masonry 或者用到 SDAutoLayout 或者Storyboard或者还有Xib等等,前面两个三方的确是方便了我们的布局,但你写完之后难免可能布局约束支架会有一些冲突或者会有约束警告的出现,比如那个约束要突破那个约束的警告等等。在这里就分享一下写完布局之后自己对布局约束的算是一种检查方法吧。     大家应该听过 UIViewAlertForUnsatisfiableConstraints 这个断点,这个在你写约束出现警告的时候Xc
Mr.RisingSun
2018/01/12
1.1K0
这个断点可以帮你检查布局约束
XML检查属性
本节讨论可用于获取任何属性的名称、值、命名空间、QName和值命名空间的方法。这些方法分为以下几组:
用户7741497
2022/07/05
5580
人工检查,11 个类、97942 个标签,Roboflow 开源自动驾驶数据集可以使用啦
机器学习是通过举例来教计算机算法以执行新任务的过程,但是,ML 模型只能在和它们所训练的数据一样的情况下表现良好。
AI研习社
2020/02/21
1.6K0
我可以在不source脚本的情况下将变量从Bash脚本导出到环境中吗
有没有一种方法可以通过只执行 export.bash 而不 source 它获取 $VAR?
程序熵
2023/09/25
3950
我可以在不source脚本的情况下将变量从Bash脚本导出到环境中吗
检查Linux是否被入侵的方法
一、检查系统日志 lastb //检查系统错误登陆日志,统计IP重试次数 二、检查系统用户 1、cat /etc/passwd //查看是否有异常的系统用户 2、grep "0" /etc/passwd //查看是否产生了新用户,UID和GID为0的用户 3、ls -l /etc/passwd //查看passwd的修改时间,判断是否在不知的情况下添加用户 4、awk -F : '$3==0 {print $1}' /etc/passwd //查看是否存在特权用户 5、awk -F : 'length($2
joshua317
2018/04/16
2.2K0
检查app的activity是否在当前
APP开发中经常会遇到这种需求,需要检查当前的APP是不是可见的,比如,如果是可见的就维持一个socket长连接,如果切到后台不可见了,就断开这个连接。Android本来并不允许APP去监听home键事件,所以我们没发像iOS那样通过监听home键事件来做对应的处理。不过还好Android的Activity的生命周期给我们提供了一种解决这个问题的方法,我们只需要在每个Activity的onStart和onStop中去维持一个计数,如果这个数值大于0,就表示我们的APP还有Activity是在前台运行的,等
xiangzhihong
2018/01/30
1K0
如何使用Holehe检查你的邮箱是否在各种网站上注册过
Holehe是一款针对用户邮箱安全的检测和评估工具,该工具可以通过多种方式来帮助我们检查自己的邮箱是否在各种网站上注册过。当前版本的Holehe支持检查类似Twitter、Instagram和Imgur等多达120个网站服务,并能够以高效的形式检查邮箱账户安全。
FB客服
2023/10/06
4480
如何使用Holehe检查你的邮箱是否在各种网站上注册过
基因集的生存分组差异检查
之前的推文中我们介绍了如何缩小基因集范围,拿到表达矩阵,这时想要初步查看所挑选基因集在分组中是否有差异,我们用箱线图和热图尝试一下。
生信菜鸟团
2022/10/31
4220
基因集的生存分组差异检查
单细胞亚群的标记基因可以迁移在不同数据集吗
这样的分析已经是超级简单的了,参考前面的例子:人人都能学会的单细胞聚类分群注释,读入这个文章的GSE162610数据集,进行标准的seurat流程即可。可以看到是如下所示的10个样品:
生信技能树
2022/01/10
1.2K0
单细胞亚群的标记基因可以迁移在不同数据集吗
dotnet C# 如何使用 MemoryFailPoint 检查是否有足够的内存资源来执行操作
在 dotnet 里面的 MemoryFailPoint 可用来测试当前进程是否还能分配申请给定大小的内存空间,这个是一个高级编程的类型,大部分情况下都不需要用到。本文内容由 New Bing 编写,将和大家介绍 MemoryFailPoint 的使用方法
林德熙
2023/05/28
8560
点击加载更多

相似问题

可以在没有FullName的情况下从GAC加载程序集吗?

20

我可以检查roxygenize是否失败吗?

10

在不执行Spring方法的情况下,可以检查它的权限吗?

11

c# -是否可以对强命名程序集进行“弱”程序集引用

35

是否可以将对强命名程序集的引用替换为“弱”引用?

310
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文