在创建的Silverlight Control中使用图片

时间:2022-04-29
本文章向大家介绍在创建的Silverlight Control中使用图片,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

在创建的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://www.cnblogs.com/nasa/archive/2008/07/04/1235862.html

 代码下载:http://files.cnblogs.com/nasa/SilverlightControlIncludeImage.zip