14-09-14, 02:45 AM
(آخر تعديل لهذه المشاركة : 19-01-17, 09:35 AM {2} بواسطة الشاكي لله.)
^
الـ ResourceDictionary هو مكان تضع فيه الResource
دعنا نشبه الResourceDictionary بملف ال(txt.)
نعرف ان ملف الtxt هو ملف يحتوي على نصوص في داخله فيمكنك رفعه وتوزيعه بسهولة جدا
نفس الشيئ للResourceDictionary هو ملف بصيغة (xaml.) يحتوي على اكواد الResource في داخله ويمكنك توزيعه واستعماله في مشاريع اخرى
شخصيا ، اعتبر ان الـ ResourceDictionary له غرضين اساسيين :-
1- استقلالية اكواد الResource عن المشروع
2- تمكين خاصية الثيمات المتعددة في المشروع
شاهد هذه الصورة :-
يوجد في الصورة ثيمان الاول هو BlackTheme والاخر عبارة عن LightTheme
كل ثيم منهما عبارة عن ResourceDictionary فلو فتحنا الثيم المسمى (BlackTheme) لوجدنا التالي :-
لاحظ الصورة المتحركة :
لاحظ الكود الاول يستورد الResource الموجود في الResourceDictionary المسمى ب LightTheme
والكود الثاني يستورد الResource الموجود في الResourceDictionary المسمى ب BlackTheme
يعني لو في المستقبل قمت بعمل ثيمات للعناصر واشكال مميزة وحبيت تشاركه هنا في المنتدى
اين ستقوم بوضع اكووادك تبع الTemplate والستايلات والشغلات هذي ؟؟؟
الجواب هو ، تضع كل اكوادك الResourceDictionary وترفعه لنا ^_^
--
وكيفية انشاء ملف الResourceDictionary سهلة جدا ، فقط زر يمين على المشروع وثم Add new Item واختر ResourceDictionary
--
اما بالنسبة لسؤالك الاصلي :
في الاساس Application.Resources هو حاوية للResource اصلا هههههههه
يعني ان وظيفتها نفس وظيفة الResourceDictionary
لكن الفرق هو كما تلاحظ في الاسم : Application.Resources اي ان هذه الحاوية مرتبطة بالApplication الحالي
اما الResourceDictionary كما ذكرنا فهو حاوية مستقلة عن الApplication اي كأنها ملف خارجي
لذلك كودك في الاعلى لن يكون له اي تأثير لانك قمت فقط بادخال حاوية داخل حاوية اخرى وذلك لا يضر ولاينفع .
--
اسف على قلة التوضيح ، في الاساس حسيت نفسي عاجز عن شرح موضوع ResourceDictionary لك ـ ربما من التعب
وان شاء الله هذا الResourceDictionary راح يكون شغلنا الشاغل في الدروس المتقدمة من الباب الثالث (باب ال Appearance ) اوعدكم راح تصيرون دكاترة فيه ههههههههه
في امان الله
الـ ResourceDictionary هو مكان تضع فيه الResource
دعنا نشبه الResourceDictionary بملف ال(txt.)
نعرف ان ملف الtxt هو ملف يحتوي على نصوص في داخله فيمكنك رفعه وتوزيعه بسهولة جدا
نفس الشيئ للResourceDictionary هو ملف بصيغة (xaml.) يحتوي على اكواد الResource في داخله ويمكنك توزيعه واستعماله في مشاريع اخرى
شخصيا ، اعتبر ان الـ ResourceDictionary له غرضين اساسيين :-
1- استقلالية اكواد الResource عن المشروع
2- تمكين خاصية الثيمات المتعددة في المشروع
شاهد هذه الصورة :-
يوجد في الصورة ثيمان الاول هو BlackTheme والاخر عبارة عن LightTheme
كل ثيم منهما عبارة عن ResourceDictionary فلو فتحنا الثيم المسمى (BlackTheme) لوجدنا التالي :-
لاحظ الصورة المتحركة :
لاحظ الكود الاول يستورد الResource الموجود في الResourceDictionary المسمى ب LightTheme
والكود الثاني يستورد الResource الموجود في الResourceDictionary المسمى ب BlackTheme
يعني لو في المستقبل قمت بعمل ثيمات للعناصر واشكال مميزة وحبيت تشاركه هنا في المنتدى
اين ستقوم بوضع اكووادك تبع الTemplate والستايلات والشغلات هذي ؟؟؟
الجواب هو ، تضع كل اكوادك الResourceDictionary وترفعه لنا ^_^
--
وكيفية انشاء ملف الResourceDictionary سهلة جدا ، فقط زر يمين على المشروع وثم Add new Item واختر ResourceDictionary
--
اما بالنسبة لسؤالك الاصلي :
PHP كود :
<Application.Resources>
<ResourceDictionary>
<Style TargetType="TextBox" x:Key="Styletxt">
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="Margin" Value="10,5,5,5"/>
<Setter Property="MinWidth" Value="200"/>
<Setter Property="MaxWidth" Value="250"/>
<Setter Property="FontWeight" Value="Bold"/>
</Style>
</ResourceDictionary>
</Application.Resources>
إقتباس :فالستايل سيؤدي الغرض فما فائدة هذا الوسم إذن ؟ أكيد له وظيفة ما ؟
في الاساس Application.Resources هو حاوية للResource اصلا هههههههه
يعني ان وظيفتها نفس وظيفة الResourceDictionary
لكن الفرق هو كما تلاحظ في الاسم : Application.Resources اي ان هذه الحاوية مرتبطة بالApplication الحالي
اما الResourceDictionary كما ذكرنا فهو حاوية مستقلة عن الApplication اي كأنها ملف خارجي
لذلك كودك في الاعلى لن يكون له اي تأثير لانك قمت فقط بادخال حاوية داخل حاوية اخرى وذلك لا يضر ولاينفع .
--
اسف على قلة التوضيح ، في الاساس حسيت نفسي عاجز عن شرح موضوع ResourceDictionary لك ـ ربما من التعب
وان شاء الله هذا الResourceDictionary راح يكون شغلنا الشاغل في الدروس المتقدمة من الباب الثالث (باب ال Appearance ) اوعدكم راح تصيرون دكاترة فيه ههههههههه
في امان الله

