यह काम क्यों नहीं करेगा?सिल्वरलाइट डिफ़ॉल्ट सामग्री सामग्री सामग्री
एक कस्टम नियंत्रण के लिए generic.xaml में:
शैली कस्टम नियंत्रण के लिए आवेदन किया है ...
<Setter Property="ChromeContent">
<Setter.Value>
<Grid />
</Setter.Value>
</Setter>
...
बाद में, नियंत्रण टेम्पलेट में ...
<ContentPresenter Grid.Column="0"
x:Name="ChromeContentPresenter"
Content="{TemplateBinding ChromeContent}" />
यहां निर्भरता समर्थक है क्रोमकंटेंट के लिए perty ...
public Object ChromeContent
{
get { return (Object)GetValue(ChromeContentProperty); }
set { SetValue(ChromeContentProperty, value); }
}
public static readonly DependencyProperty ChromeContentProperty =
DependencyProperty.Register("ChromeContent", typeof(Object),
typeof(casPopup), null);
जैसा कि आप देख सकते हैं, यह कोई वस्तु लेता है। मैंने इसे ग्रिड में बदलने की कोशिश की, लेकिन इससे मदद नहीं मिली।
यह (जावास्क्रिप्ट से) इस त्रुटि फेंकता है: _Failed संपत्ति 'System.Windows.Controls.ContentPresenter.Content'
अजीब तरह, निम्नलिखित तरीके से कार्य करेंगे करने के लिए आवंटित करने के लिए करता है, तो मैं सिर्फ एन डी सेटर से ग्रिड को दूर उपयोग पाठ:
<Setter Property="ChromeContent" Value="DEFAULT" />
इसके अलावा, इस नियंत्रण कक्षा में OnApplyTemplate विधि से भी काम करेगा:
Grid g = new Grid();
g.Width = 100;
g.Height = 25;
g.Background = new SolidColorBrush(Colors.LightGray);
ChromeContent = g;
मैं एक कठिन समय अंडर आ रही हैं काम करने से जेनेरिक.एक्सएएमएल में परिभाषित ग्रिड की डिफ़ॉल्ट सामग्री को रोकने से क्या चल रहा है। क्या किसी को इस मामले पर कोई ज्ञान है?
आपकी मदद के लिए अग्रिम धन्यवाद!
<Setter Property="ChromeContent">
<Setter.Value>
<Grid />
</Setter.Value>
</Setter>
आप एक UIElement
शामिल नहीं होना चाहिए सीधे एक संसाधन शब्दकोश में या एक शैली का एक मूल्य के रूप में -:
वाह, बहुत रोचक। मुझे यह नहीं मालूम था। एक अनुवर्ती प्रश्न यदि मैं कर सकता हूं: मैं इसे नियंत्रण टेम्पलेट के साथ कैसे करूं? जब मैं ContentPresenter में डिफ़ॉल्ट मार्कअप डालने का प्रयास करता हूं, तो मैं ग्रिड और ऐसी चीजों को जोड़ नहीं सकता। मैं चाहता हूं कि उपयोगकर्ता की सामग्री को अगर वे इसे प्रदान करते हैं तो मेरा ओवरराइड करना चाहते हैं, इसलिए मुझे यकीन नहीं है कि यहां से कहां जाना है। – maulkye
समझ गया। आपकी मदद के लिए बहुत बहुत धन्यवाद! – maulkye