【发布时间】:2015-06-02 21:40:51
【问题描述】:
我正在创建一个自定义按钮,该按钮是用户控件下的子类。我试图弄清楚如何将枚举属性公开给设计器,以便在使用设计器时设置枚举。我必须添加什么才能使控件的属性显示在设计器上?
namespace App1
{
public enum foodType
{
Appetizers,
Breakfast,
Lunch,
Dinner,
Desserts,
Drinks
};
public sealed partial class FoodTypeButton : UserControl
{
public foodType type
{
get { return type; }
set { type = value; }
}
public FoodTypeButton()
{
this.InitializeComponent();
}
}
}
我想让这个按钮有一个枚举的原因是我可以将所有 6 个按钮传递给一个方法。这一种方法将检查枚举并调用相应的按钮网格。
我现在有
appetizerButtonClicked()
{
//call other grid
}
breakfastButtonClicked()
{
//call other grid
}
lunchButtonClicked()
{
//other grid
}
等等……
也许有更好的方法来处理这个问题?
【问题讨论】:
-
全部删除。您的数据模型 (FoodType) 不属于 UI。为您尝试做的任何事情创建一个合适的 ViewModel 并保留 UI。
-
@HighCore 枚举的唯一原因是我可以将它传递给一种方法,而不是创建 5 种不同的方法。并且根据该枚举,它将显示相应的按钮网格。我稍后会更新我的问题。
-
你有几个误解。首先,您不会“调用” UI。你需要的是一个 TabControl。其次,您的数据模型不属于 UI。创建合适的 ViewModel 并使用合适的 DataBinding。
-
感谢@HighCore!,我一直在阅读有关 MVVM 的内容,我将看看是否可以正确实现正确的设计模式。
标签: c# wpf visual-studio mvvm wpf-controls