निम्नलिखित WPF UserControl ने DataTypeWholeNumber कहा है जो काम करता है।
अब मैं एक UserControl DataTypeDateTime और DataTypeEmail , आदि नाम बनाना चाहता हूं ।
डिपेंडेंसी के कई गुण इन सभी नियंत्रणों द्वारा साझा किए जाएंगे और इसलिए मैं उनके सामान्य तरीकों को बेसडेटा टाइप में रखना चाहता हूं और इनमें से प्रत्येक यूजरकंट्रोल इस बेस प्रकार से विरासत में मिला है।
हालाँकि, जब मैं ऐसा करता हूं, मुझे त्रुटि मिलती है : आंशिक घोषणा में भिन्न आधार वर्ग नहीं हो सकते हैं ।
तो मैं कैसे कर सकते हैं विरासत साझा के साथ UserControls तो साझा कार्यक्षमता सभी आधार वर्ग में है?
using System.Windows;
using System.Windows.Controls;
namespace TestDependencyProperty827.DataTypes
{
public partial class DataTypeWholeNumber : BaseDataType
{
public DataTypeWholeNumber()
{
InitializeComponent();
DataContext = this;
//defaults
TheWidth = 200;
}
public string TheLabel
{
get
{
return (string)GetValue(TheLabelProperty);
}
set
{
SetValue(TheLabelProperty, value);
}
}
public static readonly DependencyProperty TheLabelProperty =
DependencyProperty.Register("TheLabel", typeof(string), typeof(BaseDataType),
new FrameworkPropertyMetadata());
public string TheContent
{
get
{
return (string)GetValue(TheContentProperty);
}
set
{
SetValue(TheContentProperty, value);
}
}
public static readonly DependencyProperty TheContentProperty =
DependencyProperty.Register("TheContent", typeof(string), typeof(BaseDataType),
new FrameworkPropertyMetadata());
public int TheWidth
{
get
{
return (int)GetValue(TheWidthProperty);
}
set
{
SetValue(TheWidthProperty, value);
}
}
public static readonly DependencyProperty TheWidthProperty =
DependencyProperty.Register("TheWidth", typeof(int), typeof(DataTypeWholeNumber),
new FrameworkPropertyMetadata());
}
}