سؤال

وأنا أعمل على بعض الضوابط سيلفرلايت وأود أن التعامل مع صراحة الطريقة التي تظهر في مزيج. على وجه التحديد، هذه الضوابط لها تبعيات أن يتم تهيئة في وقت التشغيل، وبالتالي رمي الاستثناءات في المصمم. ولكن حتى في حالة عدم وجود استثناء، أود أن يجعلها تبدو بطريقة معينة في مزيج.

وأنا أعلم أن هذا غير ممكن مع برنامج الأغذية العالمي (باستخدام myassembly.VisualStudio.Design.dll)، ولكن لم أكن قادرة على العثور على المعلومات على القيام بذلك مع Silverlight.

ولقد رأيت الإختراق وصف <لأ href = "http://blogs.msdn.com/expression/archive/2008/10/27/simulating-sample-data-in-blend-2-sp1.aspx" يختلط = "نوفولو noreferrer"> هنا أن الشيكات يفعل هذا:

bool designTime = (System.Windows.Browser.HtmlPage.IsEnabled == false);

وأنا تفضل حلا أكثر وضوحا بالرغم من ذلك.

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

المحلول

وهناك وظيفة مفصلة للغاية على <لأ href = "http://silverlight.net/blogs/justinangel/archive/2008/11/17/silverlight-design-time-extensibility.aspx" يختلط = "noreferrer نوفولو "> كيفية التعامل مع وقت التصميم التمدد هنا . هناك سوف تجد كيفية القيام Visual Studio ثم مزيج تصميم الوقت الاشياء ل Silverlight.

<اقتباس فقرة>   

والبائعين تحكم والناس الذين الضوابط المؤلف مخصصة غالبا ما يجدون أنفسهم الراغبين أنها يمكن أن تعطي تجربة أفضل للضوابط عادتهم.   ومع ذلك، هناك نقص هائل من المعلومات العامة حول هذا الموضوع. ولقد قررت لتصحيح هذا الوضع مع هذا قصيرة المادة 50+ الصفحات.

وكما قلت، انها طويلة. :)

نصائح أخرى

وسمة محددة للتحقق هي DesignerProperties:

using System.ComponentModel.DesignerProperties

if (DesignerProperties.GetIsInDesignMode(this))
{
}

وحيث this هو DependencyObject (أي العنصر البصري).

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