سؤال

هل وجد أي شخص نمطًا جيدًا للالتفاف حول الأنماط غير القابلة للتغيير في Silverlight 2؟

ما أعنيه هو هل لدى أي شخص حل بديل لحقيقة أنه لا يمكنك تبديل نمط عنصر برمجيًا بمجرد تعيينه، أي.السطر الثاني هنا سوف يرمي استثناء الفشل الكارثي:

this.TestButton.Style = (Style)Application.Current.Resources["Fred"];
this.TestButton.Style = (Style)Application.Current.Resources["Barney"];

هل كانت مفيدة؟

المحلول

إنه غير ممكن.أفضل حل رأيته هو من Nikhil Kothari في Microsoft:

http://www.nikhilk.net/Silverlight-Themes.aspx

هناك عيب كبير في تحديد الأنماط مركزيًا في App.xaml على أي حال، وهو أنه يكسر كل دعم المصمم عندما تقوم بالرجوع إلى تلك الأنماط من عناصر تحكم المستخدم الأخرى.لم أستخدمه ولكن محرك موضوعات Nikhil يبدو واعدًا جدًا، ولدي شعور مضحك بأن العديد من أفكاره ستصل إلى منتج Silverlight في النهاية على أي حال.

نصائح أخرى

تختفي المشكلة في Silverlight 3 حيث تكون الأنماط قابلة للتغيير - حسنًا!

لا أعرف ما إذا كان هذا يساعد، ولكن أعتقد أنه يمكنك تغيير قالب عنصر التحكم عدة مرات كما تريد أثناء وقت التشغيل.ربما سيكون ذلك حلاً محتملاً.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top