私は WPF アプリケーションを持っていて、プロジェクト リソースに多くのアイコンとビットマップを追加しました。
これで、次のようにアクセスできます。
Dim ico As System.Drawing.Icon = My.Resources.Icon 'Icon.ico
Dim img As System.Drawing.Bitmap = My.Resources.Image 'Image.png
wpf で使用するために、ImageSource タイプに変換する単純すぎる拡張メソッドを作成しました。
'...Imports System.Drawing
'...Imports System.Windows.Interop.Imaging
<Extension()> _
Public Function ToImageSource(ByVal icon As Icon) As BitmapSource
Return CreateBitmapSourceFromHIcon(icon.Handle, Int32Rect.Empty, _
BitmapSizeOptions.FromEmptyOptions)
End Function
<Extension()> _
Public Function ToImageSource(ByVal image As Bitmap) As BitmapSource
Return CreateBitmapSourceFromHBitmap(image.GetHbitmap(), IntPtr.Zero, _
Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions)
End Function
したがって、次のように使用できます。
Dim i As New Image With {.Source = My.Resources.Image.ToImageSource}
MyWpfExtensions.vb を見ると、非公式のコーディングを許可する Microsoft インフラストラクチャはほとんどないことがわかります。専門家の皆さんに質問します。
タイプ System.Drawing.Bitmap/Icon のリソースごとに、ex を介して画像を返す追加の (またはオーバーライドする) プロパティが必要です。メソッドなので、Xaml でコンバーターを使用する必要はありませんが、直接使用します。
私は実際に Microsoft.VisualBasic.MyGroupCollectionAttribute のようなものを探しています。
何か案は?...