2010-09-10 15 views
6

सिल्वरलाइट (और शायद डब्ल्यूपीएफ) में प्रतिबंधित करें, जब मैं System.Windows.Interactivity.Behavior<T> को परिभाषित करता हूं उदा। एक ItemsControl,सिल्वरलाइट/डब्ल्यूपीएफ व्यवहार दृश्यता

public class SomeAwesomaticBehavior : Behavior<ItemsControl> 
{ 
} 

यह दृश्य स्टूडियो के XAML संपादक में दिखाई देंगी तरह (और शायद डिज़ाइनर में भी) साधारण, गैर आइटम-नियंत्रण के लिए भी और गंदा क्रम अपवाद फेंक देते हैं। यह संलग्न गुणों के विपरीत है जो केवल इच्छित प्रकारों के लिए दिखाई देगा।

क्या उस दृश्यता को सीमित करने का कोई तरीका है? कुछ जादू गुण शायद (हालांकि यह एक अनावश्यक घोषणा होगी)?

यदि आज कोई रास्ता नहीं है, तो मुझे उम्मीद है कि भविष्य में ऐसा होगा? क्योंकि यह निश्चित रूप से सहकर्मियों और डिजाइनर लोगों को भ्रमित करता है जब बहुत से व्यवहारकर्ता पॉप अप करते हैं जिनके पास वर्तमान वस्तु के साथ कुछ भी नहीं है।

अपडेट: मैंने uservoice आइटम दायर किए हैं।

सिल्वरलाइट: http://dotnet.uservoice.com/forums/4325-silverlight-feature-suggestions/suggestions/1224253-restrict-behavior-visibility?ref=title

WPF: http://dotnet.uservoice.com/forums/40583-wpf-feature-suggestions/suggestions/1224259-restrict-behavior-visibility?ref=title

उत्तर

3

@HeRz आप सही हैं, वहाँ अपने लक्षित प्रकार से व्यवहार फिल्टर करने के लिए कोई रास्ता नहीं है। मिश्रण (और संभवतः बनाम डिजाइनर) आपके द्वारा बनाए गए सभी प्रकारों को खोजने के लिए प्रतिबिंब का उपयोग करते हैं जो आधार प्रकार व्यवहार से प्राप्त होते हैं और उन्हें संपत्ति सूची में प्रदर्शित करते हैं।

मिश्रण आपको किसी व्यवहार को खींचने या किसी आइटम पर ट्रिगर करने से रोक देगा जो इसका इरादा नहीं है। इसलिए उन्हें उनके दुरुपयोग को रोकने में मदद करनी चाहिए।

मैं आम तौर पर कोड के पुन: प्रयोज्य टुकड़ों के रूप में व्यवहार लिखने की कोशिश करता हूं, एक विशिष्ट मामले में नहीं। वे विशिष्ट उद्देश्यों के साथ बस उपकरण हैं।

+0

वाह, आखिरकार इन सभी वर्षों के बाद एक जवाब, धन्यवाद। मुझे पहले से ही संदेह है कि कोई रास्ता नहीं है। मैं व्यापक रूप से पुन: प्रयोज्य और बहुत सामान्य व्यवहार लिखता हूं, लेकिन फिर भी ऐसे कुछ मामले हैं जो हमेशा 'निर्भरता ऑब्जेक्ट' प्रकारों के लिए समझ में नहीं आते हैं। तो, मुझे लगता है कि मैं इन दिनों एक फीचर अनुरोध दर्ज कर रहा हूं। – herzmeister

संबंधित मुद्दे