在Avalon中,微软提供了对XAML扩展的功能——MarkupExtension。按照文档以及参考了Binding,NullExtension类的实现,我认为只要自定一个类型从MarkupExtension类型继承,实现其中的抽象方法,就可以再XAML中使用如下的语法进行引用。

类型定义:

using System.Windows.Serialization;
namespace MarkupExtensionNS
{
    public class MyMarkupExtension : MarkupExtension
    {
        public MyMarkupExtension()
        {
        }

public override object ProvideValue(object targetObject, object 
targetProperty)
        {
            return "OK";
        }
    }
}

引用:

<?Mapping XmlNamespace="CodeMapNS" ClrNamespace="MarkupExtensionNS" ?>
<Window x:Class="MarkupExtensionNS.Window1"
    xmlns="http://schemas.microsoft.com/winfx/avalon/2005"
    xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"
    Text="MarkupExtension"
    xmlns:c="CodeMapNS"
    >
    <Grid>
        <TextBlock TextContent="{c:MyMarkupExtension}"/>
    </Grid>
</Window>

呵呵,看起来应该没有问题,相当于给TextBlock的TextContent附值"OK". 但是编译报错。如下:

MS.Internal.Markup.XamlParseException: The value '{c:MyMarkupExtension}' is not a valid MarkupExtension expression. Could not resolve 'MyMarkupExtension' in namespace 'CodeMapNS'. 'MyMarkupExtension' must be a subclass of MarkupExtension. Line 9 Position 14.

怀疑是MyMarkupExtension需要在XAML之前进行编译,我将MyMarkupExtension移到一个独立的Assembly中。错误依旧。郁闷中...

转载于:https://www.cnblogs.com/Cajon/archive/2005/08/10/211487.html

[Avalon]如何实现自定义MarkupExtension.相关推荐

  1. 实现FPGA Verilog HDL与NIOS II的通信数据交换——利用AVALON总线

    平时用FPGA基本都是全程用Verilog HDL编程,当遇到液晶的时候,发现Verilog的还不如C语言来的方便,但是用NIOS来编写的时候,实现NIOS与Verilog的通信又是一个问题,今天用了 ...

  2. 关于AVALON总线动态地址对齐

    在NIOS的使用中,我们往往要用到自定义外设,然后通过AVALON交换架构和NIOSII进行通信. AVALON总线,其实是一种交换架构的协议,在自定义外设挂在AVALON总线上时,一定要注意地址对齐 ...

  3. [文档].Altera – SOPC Builder组件开发攻略

    SOPC Builder组件即符合Avalon规范的自定义IP. 目录 SOPC Builder组件及组件编辑器 必要条件 软硬件需求 组件开发流程 设计范例:Checksum硬件加速器 分享组件 系 ...

  4. Silverlight 5 深入理解 - TechEd2011葡萄城讲师课程

    Silverlight 5 在 Silverlight 4基础上做了一些补充和增强 丰富的媒体表现能力 增强的图形展现能力 构造下一代商业应用程序 信任模式的增强 性能提升 工具完善 其中,大多数增强 ...

  5. 初识DE2-115开发板

    初识DE2-115开发板 摘自:http://www.cnblogs.com/qingwosuoyou/archive/2012/08/01/2618985.html DE2-115的资源非常丰富,包 ...

  6. Altera 的SOC器件之将自定义的IP挂在ARM硬核下(通过avalon总线),实现arm核与IP之间的通信

    Altera 的SOC器件之将自定义的IP挂在ARM硬核下(通过avalon总线),实现arm核与IP之间的通信 软件: Quartus II 17.0 芯片: ALTERA Cyclone5 5CG ...

  7. 搭建FPGA SOC系统(1)自定义Avalon总线组件

    学习主要参考https://rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide 本学习以altera cyclone ...

  8. Qsys自定义组件的开始-Avalon总线规范(中文)

    学习FPGA这么长时间了,一直没有整理自己的学习内容,这回要把每一段时间的学习内容总结一下,就从自定义组件开始吧.一定要坚持下来呀!! Avalon 总线规范 参考手册   (Avalon从端口传输与 ...

  9. 新建指令避开 Avalon 的 ms-duplex 的问题

    前端框架 Avalon 有一个问题,即 在使用 ms-duplex 后,此 input 在 Windows 8.1 的 IE11 下无法正常使用输入法输入中文,这个问题在 Avalon 1.5.X 中 ...

  10. avalon.js实践 svg地图配置工具

    MVVM模式,在很多复杂交互逻辑下面,有很大的优势.现在相关的框架也很多,现在项目中使用了avalon.js,选择它的原因,是兼容性的考虑,当然也要支持下国内开发大牛,至于性能方面的,没有实际测试过, ...

最新文章

  1. iOS11开发教程(二十三)iOS11应用视图实现按钮的响应(3)
  2. 解决安装jdk后使用cmd校验出现has value '1.8',but'1.7' is required.的方法
  3. 函数计算自动化运维实战2 -- 事件触发 eip 自动转移
  4. GDB 调试多进程或者多线程应用
  5. Java实现单链表反转操作
  6. 前端学习(3021):vue+element今日头条管理--创建组件和配置路由
  7. ORACLE中创建如何创建表,并设置结构和默认值
  8. 开关电源怎么测试文波_开关电源纹波标准与规范测试说明
  9. 大快HanLP自然语言处理技术介绍
  10. 经验的总结,需要记录。
  11. 正则表达式之位置匹配
  12. 解决问题 1474 个,Flink 1.11 究竟有哪些易用性上的改善?
  13. mysql索引表交换分区_MySQL交换分区的实例详解
  14. 系统集成项目管理工程师计算题(成本管理计算)
  15. oppo手机维语字体_OPPO手机中字体设置在哪里 OPPO手机中字体设置方法
  16. 【八大排序】二路归并排序(非递归 + 递归)
  17. PhotoDraweeView for Fresco
  18. 不折腾会死星人Kindle Paperwhite4拆机翻新记
  19. 软件测试中的软件质量保证,软件质量保障全流程(上)
  20. LR关联知识点详解(精品总结)一定要看

热门文章

  1. Docker一站式配置Nginx【图文教程】
  2. android 5.0 qq状态栏颜色,Android 沉浸式状态栏(QQ5.0透明状态栏的效果)
  3. Prototype使用$F()函数
  4. 【渝粤教育】广东开放大学 跨文化商务沟通 形成性考核 (39)
  5. matlab函数小结----数组区
  6. 第三十八篇 pandas模块
  7. fastdfs:安装nginx
  8. 关于java的局部知识点总结
  9. webpack 了解
  10. net core mysql 组件记录