zoukankan      html  css  js  c++  java
  • SilverLight之路(汇总目录)

    回顾一下,已经写了一十六篇了,基本上前段时间学习到的东西都写到了,这一篇做一个目录贴吧;哦对了,还有几个知识点我也补充在这里吧

    SilverLight之路(序)

    SilverLight之路(一)

    SilverLight之路(二)

    SilverLight之路(三)

    SilverLight之路(四)

    SilverLight之路(五)

    SilverLight之路(六)

    SilverLight之路(七)

    SilverLight之路(八)

    SilverLight之路(九)

    SilverLight之路(十)

    SilverLight之路(十一)

    SilverLight之路(十二)

    SilverLight之路(十三)

    SilverLight之路(十四)

    SilverLight之路(十五)

    SilverLight之路(十六) 

    知识点补充

    问题一:

    (资源!又是资源!!!)今天一天又被一个资源问题浪费掉了,场景是这样的:在主xap中通过webclient异步加载xap中的控件,最初,问题是自定义样式没起作用,发现样式与主程序集中的一样,所以怀疑是

    因为异步加载时,并没有载入资源字典(是资源字典,不是一般的资源文件),因为xap中只有一个dll文件(AppManifest除外),因此肯定是要从加载的dll中分离资源的,于是找资料,最像的一种是

                ResourceDictionary rd = new ResourceDictionary();

                rd.Source = new Uri("/FundAnalysis;component/FA_RD.xaml");

                Application.Current.Resources.MergedDictionaries.Add(rd);

    结果报错,说Uri找不到,难道是这种方法不行?于是又想,既然已经得到了Assembly,是不是应该从此入手呢,后来证明,这个思路浪费了大部分时间,一天过去了,一无所获,就在快绝望时,Uri的第二个参数

    引起了注意,一试,果然如此rd.Source = new Uri("/FundAnalysis;component/FA_RD.xaml", UriKind.RelativeOrAbsolute);解决问题,我RI。。。。

    于是重新修改资源字典,把测试的全部删除,重新建立,重新正规命名,得,错误又来了。。。

                UIElement element = assembly.CreateInstance("FundAnalysis.MainPage") as UIElement;这一句报错,这可是构造函数啊,怎么会错呢?刚刚运行还是正常的呢?以为是ms的bug(不好意思,冤枉你了)

    反复删除重建,都不行,又折腾了好久,原来是因为在控件中使用了StaticResource LeftNavButton样式定义,因为加载的dll时资源字典里还有没有一项,所以它才报错。那为什么开始时又是好的呢?原来是因为主

    程序集中有默认资源的定义,所以它才会出现开始时的情况,即样式与主程序集中的一样,知道这些之后,改动就很好处理了

                Assembly assembly = GetAssemblyFromXap(e.Result, "FundAnalysis.dll");

                ResourceDictionary rd = new ResourceDictionary();

                rd.Source = new Uri("/FundAnalysis;component/FA_RD.xaml", UriKind.RelativeOrAbsolute);

                Application.Current.Resources.MergedDictionaries.Add(rd);

                UIElement element = assembly.CreateInstance("FundAnalysis.MainPage") as UIElement;

                this.CanvasMainPanel.Children.Add(element);

    先加载dll,再合并资源字典,然后再创建控件,搞定。。。

    问题二:

    动态加载控件时,使用Canvas不能自适应大小,后改为Border就可以了

    问题三:

    datagrid 的 DataGridTextColumn 不能进行style,foreground等属性的绑定,只有使用DataGridTemplateColumn才可以

    问题四

    使用toolkit:Accordion控件时,填加的toolkit:AccordionItem没有header与content属性,是因为项目中未加载需要的程序集,如System.Windows.Controls,System.Windows.Controls.Tookies

    问题十五

    如果想把WCF服务引用放到一个项目中,其它项目直接引用该项目,那所有调用项目中也要引用System.ServiceModel程序集

  • 相关阅读:
    洛谷 PT2 First Step (ファーストステップ)
    Mask-D、绮梦与空谷幽兰
    僕らの手には何もないけど、
    魔都蹭课、观光、酱油记
    竞赛计划
    糖果
    点名
    数字对
    字符串哈希
    负环
  • 原文地址:https://www.cnblogs.com/meteortent/p/2094842.html
Copyright © 2011-2022 走看看