XAML的命名空间
一个最简单的XAML例子
- <Window x:Class="WpfApplication1.MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="MainWindow" Height="350" Width="525">
- <Grid>
- </Grid>
- </Window>
- xmlns特征的语法格式如下:xmlns[:可选的映射前缀]="名称空间"
xmlns后可以跟一个可选的映射前缀,之间用冒号分隔,如果没有写可选映射前缀,就意味着所有来自这个名称空间的标签都不用加前缀,这个没有映射前缀的名称空间称为“默认名称空间”,默认名称空间只能有一个。上面的例子中,Window和Grid都属于 xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation声明的默认命名空间,而Class特征来自于 xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml申明的命名空间,如果给 xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation申明的命名空间加上一个前缀,那么代码必须修改成这样
- <n:Window x:Class="WpfApplication1.MainWindow"
- xmlns:n="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="MainWindow" Height="350" Width="525">
- <n:Grid>
- </n:Grid>
- </n:Window>
- 在C#中,如果要使用System.Windows.Controls名称空间里的Button类,需要先把包含System.Windows.Controls美林歌城空间的程序集PresentationFramework.dll通过添加引用的方式引用到项目中,然后再在C#代码的顶端输入using System.Windows.Controls;
- 在XAML如果需要使用Button类,也需要先添加对程序集的引用,然后在根元素的起始标签中写上一句:xmlns:c="clr-namespace:System.Windows.Controls;assembly=PresentationFramework"
- x:Class这个属性的作用是当XAML解析器将包含它的标签解析成C#类后的类名,用Windows SDK自带的工具IL反汇编程序对编译出来的exe进行反汇编,可以发现生成了MainWindow类
在XAML中引用名称空间的语法是:
- <blockquote style="MARGIN-RIGHT: 0px" dir="ltr"><pre class="html" name="code">xmlns:映射名="clr-namespace:类库中名称空间的名字;assembly=类库文件名"</pre>
- <blockquote></blockquote>
- <pre></pre>
- <pre class="html" name="code"><blockquote style="MARGIN-RIGHT: 0px" dir="ltr"><div>例如:MyLibrary.dll中包含Common和Control两个名称空间,而且已经把这个程序集引用进WPF项目,那么在XAML中对于这两个名称空间,XAML中的引用会是:</div><div><pre class="html" name="code">xmlns:common="clr-namespace:Common;assembly=MyLibrary"
- xmlns;control="clr=namespace:Control;assembly=MyLibrary"</pre><br>
- <br>
- <div></div>
- <blockquote></blockquote>
- <pre></pre>
- </div>
- <!-- Baidu Button BEGIN -->
- <div class="bdsharebuttonbox tracking-ad" style="float: right;" data-mod="popu_172">
- <a href="#" class="bds_more" data-cmd="more" style="background-position:0 0 !important; background-image: url(http://bdimg.share.baidu.com/static/api/img/share/icons_0_16.png?v=d754dcc0.png) !important"></a>
- <a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间" style="background-position:0 -52px !important"></a>
- <a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博" style="background-position:0 -104px !important"></a>
- <a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博" style="background-position:0 -260px !important"></a>
- <a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网" style="background-position:0 -208px !important"></a>
- <a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信" style="background-position:0 -1612px !important"></a>
- </div>
- <script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];</script>
- <!-- Baidu Button END -->
- <!--172.16.140.15-->
- <!-- Baidu Button BEGIN -->
- <script type="text/javascript" id="bdshare_js" data="type=tools&uid=1536434" src="http://bdimg.share.baidu.com/static/js/bds_s_v2.js?cdnversion=416953"></script>
- <script type="text/javascript">
- document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + Math.ceil(new Date()/3600000)
- </script>
- <!-- Baidu Button END -->
- <div id="digg" articleid="6998229">
- <dl id="btnDigg" class="digg digg_disable" onclick="btndigga();">
- <dt>顶</dt>
- <dd>0</dd>
- </dl>
- <dl id="btnBury" class="digg digg_disable" onclick="btnburya();">
- <dt>踩</dt>
- <dd>0</dd>
- </dl>
- </div>
- <div class="tracking-ad" data-mod="popu_222"><a href="javascript:void(0);"> </a> </div>
- <div class="tracking-ad" data-mod="popu_223"> <a href="javascript:void(0);"> </a></div>
- <script type="text/javascript">
- function btndigga() {
- $(".tracking-ad[data-mod='popu_222'] a").click();
- }
- function btnburya() {
- $(".tracking-ad[data-mod='popu_223'] a").click();
- }
- </script>
- <ul class="article_next_prev">
- <li class="prev_article"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian']);location.href='http://blog.csdn.net/iamsupercola/article/details/6990869';">上一篇</span><a href="http://blog.csdn.net/iamsupercola/article/details/6990869" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian'])">获得系统特定目录的路径</a></li>
- <li class="next_article"><span onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian']);location.href='http://blog.csdn.net/iamsupercola/article/details/7004739';">下一篇</span><a href="http://blog.csdn.net/iamsupercola/article/details/7004739" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian'])">C#中的计时类</a></li>
- </ul>
- <div style="clear:both; height:10px;"></div>
- <div class="similar_article">
- <h4></h4>
- <div class="similar_c" style="margin:20px 0px 0px 0px">
- <div class="similar_c_t">
- 相关文章推荐
- </div>
- <div class="similar_wrap tracking-ad" data-mod="popu_36">
- <ul class="similar_list fl">
- <li>
- <em>•</em>
- <a href="http://blog.csdn.net/thebesttome/article/details/6528576" title="WPF中XAML命名空间映射" strategy="BlogCommendFromCsdn" target="_blank">WPF中XAML命名空间映射</a>
- </li>
- <li>
- <em>•</em>
- <a href="http://yidongkaifa.iteye.com/blog/1825658" title="我的XAML编码规范" strategy="BlogCommendFromCsdn" target="_blank">我的XAML编码规范</a>
- </li>
- <li>
- <em>•</em>
- <a href="http://blog.csdn.net/liupeng_qwert/article/details/45557303" title="XAML之命名空间" strategy="BlogCommendFromCsdn" target="_blank">XAML之命名空间</a>
- </li>
- <li>
- <em>•</em>
- <a href="http://joking0ne.iteye.com/blog/1838495" title="XAML 命名空间 关键字" strategy="BlogCommendFromCsdn" target="_blank">XAML 命名空间 关键字</a>
- </li>
- <li>
- <em>•</em>
- <a href="http://blog.csdn.net/eldersubhuti/article/details/5718931" title="WPF XAML的命名空间" strategy="BlogCommendFromCsdn" target="_blank">WPF XAML的命名空间</a>
- </li>
- </ul>
- <ul class="similar_list fr">
- <li>
- <em>•</em>
- <a href="http://blog.csdn.net/lyy080808/article/details/47065437" title="wpf 如何将命名空间导入 XAML" strategy="BlogCommendFromCsdn" target="_blank">wpf 如何将命名空间导入 XAML</a>
- </li>
- <li>
- <em>•</em>
- <a href="http://xwk.iteye.com/blog/2139205" title="SharpGIS博客翻译2006年7月:使用XAML来渲染地图" strategy="BlogCommendFromCsdn" target="_blank">SharpGIS博客翻译2006年7月:使用XAML来渲染地图</a>
- </li>
- <li>
- <em>•</em>
- <a href="http://blog.csdn.net/philipding/article/details/32897549" title="XAML —— 命名空间" strategy="BlogCommendFromCsdn" target="_blank">XAML —— 命名空间</a>
- </li>
- <li>
- <em>•</em>
- <a href="http://fuerbosi.iteye.com/blog/1599925" title="XAML实例教程系列 - 命名空间(NameSpace)" strategy="BlogCommendFromCsdn" target="_blank">XAML实例教程系列 - 命名空间(NameSpace)</a>
- </li>
- <li>
- <em>•</em>
- <a href="http://thewebcode.iteye.com/blog/1896068" title="xaml变换" strategy="BlogCommendFromCsdn" target="_blank">xaml变换</a>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </blockquote></pre></blockquote>
posted on 2017-07-26 08:37 alex5211314 阅读(200) 评论(0) 编辑 收藏 举报