xaml
<ComboBox
Name="cmbAction"
MinWidth="100"
HorizontalContentAlignment="Center"
DisplayMemberPath="Value"
ItemsSource="{Binding ActionsTypes, Mode=TwoWay}"
SelectedValue="{Binding SelectedActionType, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="Key" />
类
private ActionTypeEnum selectedActionTypeEnum;
public ActionTypeEnum SelectedActionTypeEnum { get { return selectedActionTypeEnum; }set { selectedActionTypeEnum = value;RaisePropertyChanged(); } }
复制enumerate属性
public static Dictionary<Tenum, string> GetDiscrpition<Tenum>() where Tenum : Enum
{
Dictionary<Tenum,string> dic = new Dictionary<Tenum,string>();
foreach (Tenum value in Enum.GetValues(typeof(Tenum)))
{
dic.Add(value,GetDiscrpitionEnum(value));
}
return dic;
}
public static string GetDiscrpitionEnum(Enum value)
{
Type type = value.GetType();
string name = Enum.GetName(type, value);
if (string.IsNullOrWhiteSpace(name))
{ return value.ToString(); }
DescriptionAttribute descriptionAttribute = type.GetField(name)?.GetCustomAttribute<DescriptionAttribute>();
if (descriptionAttribute == null) {
return value.ToString();
}
return descriptionAttribute.Description;
}
字典
public enum ActionTypeEnum
{
[Description("指定点运行")]
RobotMove =3,
[Description("指定点点击")]
RobotClick = 4,
[Description("直线滑动")]
RobotLineMove = 30
}