TreeBoxDataTemplateSelector.cs 866 B

12345678910111213141516171819202122232425
  1. using System.Collections;
  2. using System.Windows;
  3. using System.Windows.Controls;
  4. using MatrixIO.IO.MpegTs;
  5. namespace TsViewer
  6. {
  7. public class TreeBoxDataTemplateSelector : DataTemplateSelector
  8. {
  9. public DataTemplate SourceNode { get; set; }
  10. public DataTemplate ProgramNode { get; set; }
  11. public DataTemplate StreamNode { get; set; }
  12. public DataTemplate Node { get; set; }
  13. public DataTemplate Leaf { get; set; }
  14. public override System.Windows.DataTemplate SelectTemplate(object item, System.Windows.DependencyObject container)
  15. {
  16. if (item is TsSource) return SourceNode;
  17. else if (item is TsProgram) return ProgramNode;
  18. else if (item is TsStream) return StreamNode;
  19. else if (item is IEnumerable) return Node;
  20. else return Leaf;
  21. }
  22. }
  23. }