在创建的Silverlight Control中使用图片

简介: 在创建的Silverlight Control中使用图片  在做控件的Template的时,有可能需要用到位图。但是直接把图片放到ControlTemplate中去,在编译运行时会有xamlprase错误。
在创建的Silverlight Control中使用图片

 在做控件的Template的时,有可能需要用到位图。但是直接把图片放到ControlTemplate中去,在编译运行时会有xamlprase错误。  这是控件没有找到图片资源报的错误。
 
图片正确的写法应该是这样:
< Image  Source ="/MyControl;component/nasa.png"   />
 
完整的Template代码如下:
< ResourceDictionary
    
xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:vsm
="clr-namespace:System.Windows;assembly=System.Windows"
    xmlns:my
="clr-namespace:MyControl;assembly=MyControl"
    
>
    
< Style  TargetType ="my:MyQRCode" >
        
< Style.Setters >
            
< Setter  Property ="Template" >
                
< Setter.Value >
                    
< ControlTemplate  TargetType ="my:MyQRCode" >
                        
< Grid  x:Name ="Root" >                         
                         
< Image  Source ="/MyControl;component/nasa.png"   />
                        
</ Grid >
                    
</ ControlTemplate >
                
</ Setter.Value >
            
</ Setter >
            
</ Style.Setters >
    
</ Style >
</ ResourceDictionary >
控件代码:
     public   class  MyQRCode : Control
    {
        
public  MyQRCode() :  base () {
            DefaultStyleKey 
=   typeof (MyQRCode);
        }
        
public   override   void  OnApplyTemplate()
        {
            
base .OnApplyTemplate();
        }
    }
 

 代码下载: http://files.cnblogs.com/nasa/SilverlightControlIncludeImage.zip
相关文章

热门文章

最新文章