XAML的命名空间

一个最简单的XAML例子

 

[html] view plain copy
 
  1. <Window x:Class="WpfApplication1.MainWindow"  
  2.         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
  3.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
  4.         Title="MainWindow" Height="350" Width="525">  
  5.     <Grid>  
  6.           
  7.     </Grid>  
  8. </Window>  
[html] view plain copy
 
  1. 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申明的命名空间加上一个前缀,那么代码必须修改成这样

 

[html] view plain copy
 
  1. <n:Window x:Class="WpfApplication1.MainWindow"  
  2.         xmlns:n="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
  3.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
  4.         Title="MainWindow" Height="350" Width="525">  
  5.     <n:Grid>  
  6.           
  7.     </n:Grid>  
  8. </n:Window>  
[html] view plain copy
 
  1.    
[html] view plain copy
 
  1. 在C#中,如果要使用System.Windows.Controls名称空间里的Button类,需要先把包含System.Windows.Controls美林歌城空间的程序集PresentationFramework.dll通过添加引用的方式引用到项目中,然后再在C#代码的顶端输入using System.Windows.Controls;  
[html] view plain copy
 
  1.    
[html] view plain copy
 
  1. 在XAML如果需要使用Button类,也需要先添加对程序集的引用,然后在根元素的起始标签中写上一句:xmlns:c="clr-namespace:System.Windows.Controls;assembly=PresentationFramework"  
[html] view plain copy
 
  1.    
[html] view plain copy
 
  1.  x:Class这个属性的作用是当XAML解析器将包含它的标签解析成C#类后的类名,用Windows SDK自带的工具IL反汇编程序对编译出来的exe进行反汇编,可以发现生成了MainWindow类  
[html] view plain copy
 
  1.    

 
在XAML中引用名称空间的语法是:
[html] view plain copy
 
  1. <blockquote style="MARGIN-RIGHT: 0px" dir="ltr"><pre class="html" name="code">xmlns:映射名="clr-namespace:类库中名称空间的名字;assembly=类库文件名"</pre>  
  2. <blockquote></blockquote>  
  3. <pre></pre>  
  4. <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"  
  5. xmlns;control="clr=namespace:Control;assembly=MyLibrary"</pre><br>  
  6. <br>  
  7. <div></div>  
  8. <blockquote></blockquote>  
  9. <pre></pre>  
  10.      
  11. </div>  
  12.   
  13.   
  14.   
  15.   
  16. <!-- Baidu Button BEGIN -->  
  17.   
  18.   
  19.   
  20.   
  21. <div class="bdsharebuttonbox tracking-ad" style="float: right;" data-mod="popu_172">  
  22. <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>  
  23. <href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间" style="background-position:0 -52px !important"></a>  
  24. <href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博" style="background-position:0 -104px !important"></a>  
  25. <href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博" style="background-position:0 -260px !important"></a>  
  26. <href="#" class="bds_renren" data-cmd="renren" title="分享到人人网" style="background-position:0 -208px !important"></a>  
  27. <href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信" style="background-position:0 -1612px !important"></a>  
  28. </div>  
  29. <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>  
  30. <!-- Baidu Button END -->  
  31.   
  32.      
  33.   
  34. <!--172.16.140.15-->  
  35.   
  36. <!-- Baidu Button BEGIN -->  
  37. <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>  
  38.   
  39. <script type="text/javascript">  
  40.     document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + Math.ceil(new Date()/3600000)  
  41. </script>  
  42. <!-- Baidu Button END -->  
  43.   
  44.   
  45.   
  46.    
  47.   
  48.   
  49.         <div id="digg" articleid="6998229">  
  50.             <dl id="btnDigg" class="digg digg_disable" onclick="btndigga();">  
  51.                  
  52.                  <dt>顶</dt>  
  53.                 <dd>0</dd>  
  54.             </dl>  
  55.              
  56.                 
  57.             <dl id="btnBury" class="digg digg_disable" onclick="btnburya();">  
  58.                 
  59.                   <dt>踩</dt>  
  60.                 <dd>0</dd>                 
  61.             </dl>  
  62.               
  63.         </div>  
  64.      <div class="tracking-ad" data-mod="popu_222"><href="javascript:void(0);"</a>   </div>  
  65.     <div class="tracking-ad" data-mod="popu_223"<href="javascript:void(0);"</a></div>  
  66.     <script type="text/javascript">  
  67.                 function btndigga() {  
  68.                     $(".tracking-ad[data-mod='popu_222'] a").click();  
  69.                 }  
  70.                 function btnburya() {  
  71.                     $(".tracking-ad[data-mod='popu_223'] a").click();  
  72.                 }  
  73.             </script>  
  74.   
  75.    <ul class="article_next_prev">  
  76.                 <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><href="http://blog.csdn.net/iamsupercola/article/details/6990869" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian'])">获得系统特定目录的路径</a></li>  
  77.                 <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><href="http://blog.csdn.net/iamsupercola/article/details/7004739" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian'])">C#中的计时类</a></li>  
  78.     </ul>  
  79.   
  80.     <div style="clear:both; height:10px;"></div>  
  81.   
  82.   
  83.             <div class="similar_article">  
  84.                     <h4></h4>  
  85.                     <div class="similar_c" style="margin:20px 0px 0px 0px">  
  86.                         <div class="similar_c_t">  
  87.                             相关文章推荐  
  88.                         </div>  
  89.                      
  90.                         <div class="similar_wrap tracking-ad" data-mod="popu_36">                         
  91.                             <ul class="similar_list fl">      
  92.                                    <li>  
  93.                                        <em>•</em>  
  94.                                        <href="http://blog.csdn.net/thebesttome/article/details/6528576" title="WPF中XAML命名空间映射" strategy="BlogCommendFromCsdn" target="_blank">WPF中XAML命名空间映射</a>  
  95.                                    </li>  
  96.                                    <li>  
  97.                                        <em>•</em>  
  98.                                        <href="http://yidongkaifa.iteye.com/blog/1825658" title="我的XAML编码规范" strategy="BlogCommendFromCsdn" target="_blank">我的XAML编码规范</a>  
  99.                                    </li>  
  100.                                    <li>  
  101.                                        <em>•</em>  
  102.                                        <href="http://blog.csdn.net/liupeng_qwert/article/details/45557303" title="XAML之命名空间" strategy="BlogCommendFromCsdn" target="_blank">XAML之命名空间</a>  
  103.                                    </li>  
  104.                                    <li>  
  105.                                        <em>•</em>  
  106.                                        <href="http://joking0ne.iteye.com/blog/1838495" title="XAML 命名空间 关键字" strategy="BlogCommendFromCsdn" target="_blank">XAML 命名空间 关键字</a>  
  107.                                    </li>  
  108.                                    <li>  
  109.                                        <em>•</em>  
  110.                                        <href="http://blog.csdn.net/eldersubhuti/article/details/5718931" title="WPF XAML的命名空间" strategy="BlogCommendFromCsdn" target="_blank">WPF XAML的命名空间</a>  
  111.                                    </li>  
  112.                             </ul>  
  113.                               <ul class="similar_list fr">        
  114.                                    <li>  
  115.                                        <em>•</em>  
  116.                                        <href="http://blog.csdn.net/lyy080808/article/details/47065437" title="wpf 如何将命名空间导入 XAML" strategy="BlogCommendFromCsdn" target="_blank">wpf 如何将命名空间导入 XAML</a>  
  117.                                    </li>  
  118.                                    <li>  
  119.                                        <em>•</em>  
  120.                                        <href="http://xwk.iteye.com/blog/2139205" title="SharpGIS博客翻译2006年7月:使用XAML来渲染地图" strategy="BlogCommendFromCsdn" target="_blank">SharpGIS博客翻译2006年7月:使用XAML来渲染地图</a>  
  121.                                    </li>  
  122.                                    <li>  
  123.                                        <em>•</em>  
  124.                                        <href="http://blog.csdn.net/philipding/article/details/32897549" title="XAML —— 命名空间" strategy="BlogCommendFromCsdn" target="_blank">XAML —— 命名空间</a>  
  125.                                    </li>  
  126.                                    <li>  
  127.                                        <em>•</em>  
  128.                                        <href="http://fuerbosi.iteye.com/blog/1599925" title="XAML实例教程系列 - 命名空间(NameSpace)" strategy="BlogCommendFromCsdn" target="_blank">XAML实例教程系列 - 命名空间(NameSpace)</a>  
  129.                                    </li>  
  130.                                    <li>  
  131.                                        <em>•</em>  
  132.                                        <href="http://thewebcode.iteye.com/blog/1896068" title="xaml变换" strategy="BlogCommendFromCsdn" target="_blank">xaml变换</a>  
  133.                                    </li>  
  134.                             </ul>  
  135.                         </div>  
  136.                     </div>  
  137.                 </div>     
  138.         
  139. </blockquote></pre></blockquote>  

posted on 2017-07-26 08:37  alex5211314  阅读(200)  评论(0编辑  收藏  举报

导航