元々、メイン プロジェクトでユーザー コントロールを作成していました。WPF ユーザー コントロール ライブラリ テンプレートを使用する新しいプロジェクトを作成し、そこにコントロールを移動しました。
私が抱えている問題は、コントロールがボタンのコンテンツとして画像を使用していることです。コントロールと一緒に画像を新しいプロジェクトに移動しましたが、Pack URI を機能させることができません。コントロールと画像は両方とも、プロジェクトの同じフォルダーにありMyControl
、新しいプロジェクト名はMyControls
.
私が試してみました:
<Button Name="Button1" ToolTip="Button1" Click="Button1Action">
<Image Source="pack://application:,,,/MyControl/image1.png" />
</Button>
と
<Button Name="Button1" ToolTip="Button1" Click="Button1Action">
<Image Source="pack://application:,,,MyControls;/MyControl/image1.png" />
</Button>
また、画像をファイルに追加してからResources.resx
、コード ビハインドでそれを に変換しBitmapSource
、Image コントロールを作成し、そのソースを にBitmapSource
設定し、次に を に設定してButton.Content
みましたImage
。pngは背景が透明なため、途中でぐちゃぐちゃになってしまったのか、この方法で黒背景で表示されたのだと思います。
プロジェクト内のイメージのビルド アクションは に設定されてResource
いるため、正しいパック文字列が欠落しているだけだと思います。