0

WPF VB.NETアプリケーションがあり、アプリケーションリソースに埋め込まれているアイコンをメニューアイコンとして使用したいと思います。これまでのところ、私はこのコードを持っています(ウィンドウの初期化されたイベントに):

MenuItem.Icon = New Image() With {.Source = New BitmapImage(New
Uri("Resources\Icon.ico", UriKind.Relative))}

そして、アイコンはまだ表示されていません、何かアイデアはありますか?

4

2 に答える 2

1

問題はあなたのURIです。コードビハインドで設定する場合は、完全なWPFパックURIを記述する必要があります。 また、アイコンファイルのビルドアクションをに設定する必要がありますResource(アイコンのデフォルト値はNone)。

MenuItem.Icon = New Image() With
{
    .Source = New BitmapImage(New Uri("pack://application:,,,/Resources/Icon.ico"))
}

XAMLでURIを指定すると、デフォルトのImageSource TypeConverterによってパーツが追加され、次のpack://application:,,,ように記述できます。

<Image Source="/Resources/Icon.ico"/>
于 2013-02-10T12:43:59.910 に答える
0

より良いオプションは、XAMLでメニューを作成することです。

  1. Imagesソリューションにフォルダーを作成します
  2. Resourcesディレクトリに画像を追加Imagesします(私のサンプルコード: "Icon.ico")
  3. XAMLでは、次のコードを使用できます。

..。

<MenuItem Header="Item1">
    <MenuItem.Icon>
        <Image Source="/Images/Icon.ico" Width="20" Height="20" />
    </MenuItem.Icon>
</MenuItem>

または、コードビハインドでこれを実行する場合は、手順3の代わりに次のコードを使用できます。

MenuItem.Icon = New Image() With {.Source = New BitmapImage(New Uri("/Images/Icon.ico", UriKind.RelativeOrAbsolute))}
于 2013-02-10T12:31:02.347 に答える