次のディレクトリ構造があります
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>
ただし、このパック URI メソッドも "/images/view.png" も機能していません。私が理解しているように、これはこの質問が提起するのと同じ問題です。ただし、同じエラーが発生します。紛らわしいのは、Visual Studio 2008 のデザイナーでは、画像が正しくレンダリングされることですが、InitializeComponent() 呼び出しの呼び出しで次のようになります。
属性 'Source' の文字列 'pack://application:,,,/images/view.png' をタイプ 'System.Windows.Media.ImageSource' のオブジェクトに変換できません。リソース 'images/view.png' が見つかりません。マークアップ ファイル 'RecapSpecEditControl;component/modaltreadgroupdatadialog.xaml' 行 61 位置 40 のオブジェクト 'System.Windows.Controls.ControlTemplate' でエラーが発生しました。
宣言しなければならない名前空間があるのではないかと思いましたが、msdn サイトによると、そのようなことをする必要はないと考えています。