74 lines
2.2 KiB
C#
74 lines
2.2 KiB
C#
using Common.Models;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using System.Windows;
|
||
using System.Windows.Controls;
|
||
|
||
namespace MegaRobo.C00225155App.MenuViews
|
||
{
|
||
public class BoxTemplateSelector : DataTemplateSelector
|
||
{
|
||
// 样品工装模板
|
||
public DataTemplate SampleBoxTemplate { get; set; }
|
||
|
||
// 原液工装模板
|
||
public DataTemplate SourceLiquidBoxTemplate { get; set; }
|
||
|
||
// 粉末工装模板 16ml
|
||
public DataTemplate PowderBoxTemplate_16ml { get; set; }
|
||
|
||
// 粉末工装模板 125ml
|
||
public DataTemplate PowderBoxTemplate_125ml { get; set; }
|
||
|
||
// 96孔的Tip头工装模板
|
||
public DataTemplate TipHeadersBoxTemplate { get; set; }
|
||
|
||
// 空工装模板
|
||
public DataTemplate EmptyBoxTemplate { get; set; }
|
||
|
||
public override DataTemplate SelectTemplate(object item, DependencyObject container)
|
||
{
|
||
// 直接判断 item 的类型(BaseBottleBox 及其派生类)
|
||
if (item == null) return EmptyBoxTemplate;
|
||
|
||
// 样品工装
|
||
if (item is SampleBottleBoxModel)
|
||
{
|
||
return SampleBoxTemplate;
|
||
}
|
||
// 原液工装
|
||
else if (item is SourceLiquidBottleBoxModel)
|
||
{
|
||
return SourceLiquidBoxTemplate;
|
||
}
|
||
// 16ml粉末工装
|
||
else if (item is SourcePowderBottleBoxModel)
|
||
{
|
||
return PowderBoxTemplate_16ml;
|
||
}
|
||
// 125ml粉末工装
|
||
else if (item is SourcePowderBottleBoxModel_125ml)
|
||
{
|
||
return PowderBoxTemplate_125ml;
|
||
}
|
||
// Tip头工装
|
||
else if (item is TipBoxModel)
|
||
{
|
||
return TipHeadersBoxTemplate;
|
||
}
|
||
// 基类 BaseBottleBox(无具体工装类型,显示空)
|
||
else if (item is BaseBottleBox baseBox && baseBox.IsEmpty)
|
||
{
|
||
return EmptyBoxTemplate;
|
||
}
|
||
|
||
// 其他情况默认空工装
|
||
return EmptyBoxTemplate;
|
||
}
|
||
}
|
||
|
||
}
|