Sic.Framework/MECF.Framework.UI.Client/CenterViews/Configs/SystemConfig/ConfigValueTemplateSelector.cs

39 lines
1.2 KiB
C#
Raw Normal View History

2023-04-13 11:51:03 +08:00
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;
}
}
}