尽管这是一个你试图实现的好设计:你可以向你的控件添加一个属性,比如
public BehaviourEnum Behaviour { get; set; } // You need to implement the enum
那么你可以
void ComboboxCountry_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
if (Behaviour == BehaviourEnum.Behave1) // etc.
}
实现您的控件的页面需要相应地设置行为属性。
编辑:如果您的控件需要与父页面交互,我会在父页面上引入一个界面。然后你可以设计这样的东西:
// The page containing this control needs to implement IMasterpage
public IMasterpage Masterpage { get; set; }
void ComboboxCountry_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
// Propagate the behavour to your parent page
Masterpage.CallwatheverMethodInYourInterface();
}
目标是将依赖于父页面的行为传播到父页面本身。这样你就可以保持你的控制苗条和独立。