silverlight كيفية جعل التحكم في الصورة عكس ألوانه اعتمادا على الموضوع




ضبط التباين والسطوع (3)

أنا أحاول العمل على كيفية الحصول على عنصر تحكم Image في بلدي تطبيق ويندوز الهاتف عكس ألوانه استنادا إلى إعداد الخلفية العالمية (إما "الظلام" أو "الضوء") التي اختارها المستخدم في إعدادات-> Themes-> الخلفية.


Answer #1

هذه المسألة هي 1.5 سنة الآن. ولكن هنا هو أسهل طريقة للقيام بما تريد. المثال المذكور هناك بسيط جدا مثل

<Button>
    <Image Stretch="None" Source="{Binding Converter={StaticResource ThemedImageConverter}, ConverterParameter={StaticResource PhoneBackgroundColor} }"
           DataContext="/WP7SampleProject4;component/Images/{0}/appbar.feature.camera.rest.png" />
</Button>

Answer #2

ليس هناك طريقة مدمجة لعكس ألوان الصورة داخل الإطار.

بدلا من ذلك، بسبب النفقات العامة للقيام بذلك على الهاتف، يجب عليك إنشاء كلا الإصدارين من الصورة في وقت التصميم / بناء ثم اختيار أي إصدار لعرض من التعليمات البرمجية الخاصة بك عن طريق الكشف عن موضوع الرؤية والتعتيم .


Answer #3

يجب أن أضيف أن ما فعلته في النهاية كان استمرارا لما كتبه مات.

  • إنشاء صورتين مختلفتين التي لها إصدارات مختلفة من الصورة (الظلام والضوء) ووضعها في نفس الموقف بالضبط
  • تعيين رؤيتها استنادا إلى الموارد موضوع

يبدو الرمز كما يلي:

<Image Height="30" HorizontalAlignment="Center" Margin="0,0,0,220" Name="imgDark" Stretch="Fill" Visibility="{StaticResource PhoneLightThemeVisibility}" VerticalAlignment="Center" Width="30" Source="/MyApplication;component/imageDarkTheme.png" />
<Image Height="30" HorizontalAlignment="Center" Margin="0,0,0,220" Name="imgLoading" Stretch="Fill" Visibility="{StaticResource PhoneDarkThemeVisibility}" VerticalAlignment="Center" Width="30" Source="/MyApplication;component/imageLightTheme.png" />