1:在datagrid 中的Command 绑定变得失效
2:GRID里面的控件不会自动从左到右的放置会被覆盖 ,默认的MARGIN 都是0,0,0,0 使用StackPanel的Orientation="Horizontal 会从左到右的放置
3:枚举的快速遍历转换取值
object ll = value.ToString().ToInt();
return AssistExtension.GetEnumName<Gender>((Gender)ll);
public static class AssistExtension
{
#region 获取枚举名范型
/// <summary>
/// 获取枚举名范型
/// </summary>
/// <typeparam name="T">枚举类型</typeparam>
/// <param name="enumTypeVal">枚举值</param>
/// <returns>名称</returns>
public static string GetEnumName<T>(this T enumTypeVal)
{
return Enum.GetName(typeof(T), enumTypeVal);
}
#endregion
#region 根据枚举获取对应的索引
/// <summary>
/// 根据枚举获取对应的索引
/// </summary>
/// <param name="enumObj">枚举对象</param>
/// <param name="isIgnoreCase">是否忽略大小写</param>
/// <returns></returns>
public static int GetIdxForEnum<T>(this T enumObj, bool isIgnoreCase)
{
return (int)Enum.Parse(typeof(T), enumObj.ToString(), isIgnoreCase);
}
#endregion
#region 根据枚举获取集合
/// <summary>
/// 根据枚举获取集合
/// </summary>
/// <typeparam name="T">枚举类型</typeparam>
/// <returns>集合</returns>
public static object ReflectionEnum<T>(this object obj)
{
List<ComboxItem> list = new List<ComboxItem>();
if (typeof(T).IsEnum)
{
Type enumType = typeof(T);
FieldInfo[] enumFields = enumType.GetFields();
foreach (FieldInfo e in enumFields)
{
if (!e.IsSpecialName)
{
int id = Convert.ToInt32(e.GetRawConstantValue());
string name = e.Name.Replace("_", "、");
list.Add(new ComboxItem { ID = id, Name = name });
}
}
}
return list;
}
#endregion
#region 获取资源模版
/// <summary>
/// 获取资源模版
/// </summary>
/// <param name="tempDictkey">要获取的模版键对应的枚举</param>
/// <returns></returns>
public static DataTemplate GetResourceTemplate(this TemplateDictEnum tempDictkey)
{
try
{
var res = Application.Current.Resources.MergedDictionaries;
if (res.Count > 0)
{
var firstTag = (res[0].Values.SyncRoot as object[])[0];
if (firstTag.Equals("Office2007Silver"))
{
if (res[3].Contains(tempDictkey.ToString()))
{
return res[3][tempDictkey.ToString()] as DataTemplate;
}
else
return null;
}
else
{
if (res[2].Contains(tempDictkey.ToString()))
{
return res[2][tempDictkey.ToString()] as DataTemplate;
}
else
return null;
}
}
else
return null;
}
catch
{
return null;
}
}
#endregion
}
4:ObservableCollection<EntityModel> 比 List<EntityModel> 多了自动通知功能比较适合SV的通知绑定特性
5:??(雙問號),意思是取所賦值??左邊的,如果左邊為null,取所賦值??右邊的