我有以下的目录结构
Project
\Images
+view.png
control.xaml
在控件中,我定义了一个按钮,其 XAML 如下:
<Button Click="Search"
Grid.Column="1"
Margin="0,5,5, 0"
HorizontalAlignment="Right">
<Button.Template>
<ControlTemplate TargetType="{x:Type Button}">
<Image Source="pack://application:,,,/images/view.png"
Width="16"
Height="16"
ToolTip="Search"
Cursor="Hand"
Opacity="0.8" />
</ControlTemplate>
</Button.Template>
</Button>
然而,无论是使用pack URI方法还是"/images/view.png"路径都不起作用。据我所知,这与此问题相同。然而,我收到了相同的错误信息。令人困惑的是,在Visual Studio 2008的设计器中,图像可以正确呈现,但在调用InitializeComponent()时,我会得到以下错误信息:
“Cannot convert string 'pack://application:,,,/images/view.png' in attribute 'Source' to object of type 'System.Windows.Media.ImageSource'. Cannot locate resource 'images/view.png'. Error at object 'System.Windows.Controls.ControlTemplate' in markup file 'RecapSpecEditControl;component/modaltreadgroupdatadialog.xaml' Line 61 Position 40.”
我认为也许有一个命名空间需要声明,但根据msdn网站的说法,我认为我不需要做任何事情。