MsgTemplateSelector .cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using WechatBakTool.Model;
  9. namespace WechatBakTool.Pages
  10. {
  11. public class MsgTemplateSelector : DataTemplateSelector
  12. {
  13. public override DataTemplate? SelectTemplate(object item, DependencyObject container)
  14. {
  15. FrameworkElement? element = container as FrameworkElement;
  16. if (element != null && item != null && item is WXMsg)
  17. {
  18. WXMsg? wxmsg = item as WXMsg;
  19. if (wxmsg == null)
  20. return null;
  21. if (wxmsg.Type == 1)
  22. return
  23. element.FindResource("MsgText") as DataTemplate;
  24. else if (wxmsg.Type == 3)
  25. return
  26. element.FindResource("MsgImage") as DataTemplate;
  27. else
  28. return
  29. element.FindResource("MsgText") as DataTemplate;
  30. }
  31. return null;
  32. }
  33. }
  34. }