39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using System.Windows;
|
|
using System.Windows.Controls;
|
|
|
|
namespace MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig
|
|
{
|
|
public class ConfigValueTemplateSelector : DataTemplateSelector
|
|
{
|
|
public DataTemplate BoolTemplate { get; set; }
|
|
public DataTemplate NumbericTemplate { get; set; }
|
|
public DataTemplate StringTemplate { get; set; }
|
|
public DataTemplate SelectionTemplate { get; set; }
|
|
|
|
public override DataTemplate SelectTemplate(object item, DependencyObject container)
|
|
{
|
|
if (!(item is ConfigItem))
|
|
return null;
|
|
|
|
ConfigItem configItem = item as ConfigItem;
|
|
|
|
DataTemplate curTemplate = null;
|
|
switch (configItem.Type)
|
|
{
|
|
case DataType.Bool:
|
|
curTemplate = BoolTemplate;
|
|
break;
|
|
case DataType.Int:
|
|
case DataType.Double:
|
|
curTemplate = StringTemplate; // NumbericTemplate;
|
|
break;
|
|
case DataType.String:
|
|
curTemplate = configItem.Tag=="ReadOnlySelection" ? SelectionTemplate: StringTemplate;
|
|
break;
|
|
}
|
|
|
|
return curTemplate;
|
|
}
|
|
}
|
|
}
|