وقت التصميم جعل من سيلفرلايت يتحكم في التعبير مزيج 2
-
08-07-2019 - |
سؤال
وأنا أعمل على بعض الضوابط سيلفرلايت وأود أن التعامل مع صراحة الطريقة التي تظهر في مزيج. على وجه التحديد، هذه الضوابط لها تبعيات أن يتم تهيئة في وقت التشغيل، وبالتالي رمي الاستثناءات في المصمم. ولكن حتى في حالة عدم وجود استثناء، أود أن يجعلها تبدو بطريقة معينة في مزيج.
وأنا أعلم أن هذا غير ممكن مع برنامج الأغذية العالمي (باستخدام 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
(أي العنصر البصري).