يقوم WPF بإعداد MenuItem.Icon في الكود
سؤال
لدي مجلد صور بداخله ملف pngأرغب في تعيين رمز MenuItem إلى ملف png.كيف أكتب هذا في الكود الإجرائي؟
المحلول
menutItem.Icon = new System.Windows.Controls.Image
{
Source = new BitmapImage(new Uri("images/sample.png", UriKind.Relative))
};
نصائح أخرى
<MenuItem>
<MenuItem.Icon>
<Image>
<Image.Source>
<BitmapImage UriSource="/your_assembly;component/your_path_here/Image.png" />
</Image.Source>
</Image>
</MenuItem.Icon>
</MenuItem>
فقط تأكد من تضمين صورتك أيضًا في ملف المشروع ووضع علامة عليها كمورد، وستكون جاهزًا للبدء :)
تعتبر إجابة Arcturus جيدة لأنها تعني أن لديك ملف الصورة في مشروعك بدلاً من مجلد مستقل.
لذا، في الكود الذي يصبح...
menutItem.Icon = new Image
{
Source = new BitmapImage(new Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))
}
هذه هي الطريقة التي استخدمتها (بهذه الطريقة لا يلزم دمجها في التجميع):
MenuItem item = new MenuItem();
string imagePath = "D:\\Images\\Icon.png");
Image icon = new Image();
icon.Source= new BitmapImage(new Uri(imagePath, UriKind.Absolute));
item.Icon = icon;
هذا أقصر قليلا :D
<MenuItem Header="Example">
<MenuItem.Icon>
<Image Source="pack://siteoforigin:,,,/Resources/Example.png"/>
</MenuItem.Icon>
</MenuItem>
لأولئك منكم الذين يستخدمون vb.net، للقيام بذلك تحتاج إلى استخدام هذا:menuItem.Icon = New Image() With {.Source = New BitmapImage(New Uri("pack://application:,,,/your_assembly;component/yourpath/Image.png"))}
هذا هو ما نجح بالنسبة لي
<MenuItem Header="delete ctrl-d" Click="cmiDelete_Click">
<MenuItem.Icon>
<Image>
<Image.Source>
<ImageSource>Resources/Images/delete.png</ImageSource>
</Image.Source>
</Image>
</MenuItem.Icon>
</MenuItem>
يمكنك أيضًا استخدام Visual Studio الخاص بك لإدراج رمز.هذه الطريقة الأسهل
- انقر بزر الماوس الأيمن على مشروعك في مستكشف الحلول
- اختار خصائص
- تأكد من أنك في صفحة التطبيق.
- @ الموارد التي تراها:أيقونة وبيان
- @ أيقونة:انقر فوق "تصفح" واختر الرمز الخاص بك.
تم حل المشكلة.
لا تنتمي إلى StackOverflow