WPF UserControl sau được gọi là DataTypeWholeNumber hoạt động.
Bây giờ tôi muốn tạo một UserControl có tên là DataTypeDateTime và DataTypeEmail , v.v.
Nhiều Thuộc tính Phụ thuộc sẽ được chia sẻ bởi tất cả các điều khiển này và do đó tôi muốn đặt các phương thức chung của chúng vào một BaseDataType và để mỗi UserControl này kế thừa từ loại cơ sở này.
Tuy nhiên, khi tôi làm điều đó, tôi gặp lỗi: Khai báo một phần có thể không có các lớp cơ sở khác nhau .
Vì vậy, làm thế nào tôi có thể thực hiện kế thừa với UserControls để chức năng được chia sẻ là tất cả trong lớp cơ sở?
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());
}
}