我正在开发一个包含几个模板化控件的Silverlight类库。其中一个控件显示“嵌入”在类库中的图像。但是,当我在应用程序中显示控件时,图像不会出现。
以下是我在ControlTemplate中为自定义控件定义图像的方法:
<Style TargetType="local:MyControl">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:MyControl">
<Border Background="DarkGray"
HorizontalAlignment="Center"
VerticalAlignment="Center"
>
<StackPanel Orientation="Vertical"
>
<StackPanel Orientation="Horizontal">
<Image Height="102"
Margin="0,0,6,6"
Source="/Company.Product.Silverlight;component/Images/Logo.png"
VerticalAlignment="Top"
Width="145"
/>
<StackPanel Orientation="Vertical">
<TextBlock Height="23"
HorizontalAlignment="Left"
Text="{TemplateBinding Text1}"
TextWrapping="Wrap"
VerticalAlignment="Top"
Width="169"
/>
<TextBlock Height="56"
HorizontalAlignment="Left"
Text="{TemplateBinding Text2}"
TextWrapping="Wrap"
VerticalAlignment="Top"
Width="169"
/>
<TextBlock Height="23"
HorizontalAlignment="Left"
Text="{TemplateBinding Text3}"
TextWrapping="Wrap"
VerticalAlignment="Top"
Width="169"
/>
</StackPanel>
</StackPanel>
<TextBlock Height="64"
HorizontalAlignment="Left"
Margin="0,6,0,0"
Text="{TemplateBinding Text4}"
TextWrapping="Wrap"
VerticalAlignment="Top"
Width="326"
/>
<TextBlock Height="20"
HorizontalAlignment="Left"
Margin="0,6,0,0"
Text="{TemplateBinding Text5}"
TextWrapping="Wrap"
VerticalAlignment="Top"
Width="326"
/>
</StackPanel>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
图像文件的构建操作设置为资源。
唯一需要注意的是项目的默认命名空间是“Company.Product”(没有.Silverlight后缀),因为大多数代码都是从该名称的.NET类库链接的。程序集名称为“Company.Product.Silverlight”。
有关图像无法显示的任何想法?
更新
我已更新上面的代码以显示完整的模板。