c# صورة في WPF زر غير مرئي في وقت التشغيل




4 Answers

هناك 2 الحلول:

1: تغيير إعدادات الصورة:

Build Action = Content
Copy to output directory = Copy if newer
Source="pack://siteoforigin:,,,/Resources/UserCost2013Open16.png"


2: عند استخدام التطبيق بدلاً من siteoforigin في مسار المصدر ، يجب عليك اتباع الطرق الممكنة:

أ) ستكون الصورة في مجلد فرعي يسمى "الموارد" وملف .exe سيكون صغيرًا

Source="pack://application:,,,/Resources/UserCost2013Open16.png"
Build Action = Content
Copy to output directory = Copy if newer

ب) سيتم تضمين الصورة في ملف exe. ولن توجد أي مجلد فرعي يحتوي على ملف imagefile

Source="pack://application:,,,/Resources/UserCost2013Open16.png"
Build Action = Resource
Copy to output directory = Copy if newer
c# wpf image button

الكل ، لدي البداية التالية إلى تطبيق صغير يقوم بالتحقق من ملفات .resx لاتساق الأقواس المضمنة (حتى لا تحدث أخطاء وقت التشغيل الخاصة بـ "... {0}" سلاسل لا تحدث). لدي XAML التالي لـ MainWindow.xaml ، ومشكلتي الخاصة تتعلق بالصورة التي سيتم عرضها على الزر

<Window x:Class="ResxChecker.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="174.383" Width="495.869">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="350*"/>
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="30*"/>
        </Grid.RowDefinitions>
        <Label Content="Select .resx file:" HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Top" Height="24" Width="Auto" Grid.ColumnSpan="1"/>
        <TextBox Grid.ColumnSpan="2" HorizontalAlignment="Stretch" Margin="10,0,0,0" Grid.Row="1" TextWrapping="Wrap" Text="" VerticalAlignment="Top"/>
        <Button Grid.Column="2" HorizontalAlignment="Right" Margin="5,0,10,0" Grid.Row="1">
            <Image VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Height="16 " Width="16" Source="pack://siteoforigin:,,,/Resources/UserCost2013Open16.png"/>
        </Button>
    </Grid>
</Window>

تحتوي الصورة على "Build Action = Resource" و "Copy to output directory = Do not copy" - تظهر الصورة في المصمم ولكن ليس في وقت التشغيل. لقد رأيت الأسئلة التالية وأقرأ الإجابات ذات الصلة ، لكن لا أحد منهم حل المشكلة:

  1. لا يتم عرض صور التحكم WPF عند استهلاكها بواسطة أحد التطبيقات

  2. مشكلة الصورة في wpf (لا تظهر الصورة)

  3. صورة خلفية الزر لا تظهر في WPF

كيف يمكنني الحصول على صورة الزر لتظهر في وقت التشغيل؟




افترض أن لديك

  • تعيين " Build Action الخاص بك Build Action إلى Resource

  • ضبط هذا المسار بشكل صحيح باستخدام URI-PACK-FORMAT

في حالتي ما زالت لا تظهر.

Clean & Rebuild ليس فقط بناء ثابت ذلك بالنسبة لي!




يجب إضافة أي شيء داخل " مستكشف الحلول" من Visual Studio. بدلاً من مجرد نسخ الصورة إلى مجلد في "مستكشف Windows" ، اضغط على "النقر بزر الماوس الأيمن" على أي مجلد في "مستكشف الحلول" ، انتقل إلى إضافة> عنصر موجود ... وحدد المسار إلى المورد الخاص بك المراد إضافته.




المصدر = "file: /// D: /100x100.jpg" /> يعمل بالنسبة لي.






Related