TranslaterExtension.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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.Markup;
  7. namespace PackingPress.Common
  8. {
  9. [MarkupExtensionReturnType(typeof(string))]
  10. public class TranslaterExtension : MarkupExtension
  11. {
  12. #region Properties 
  13. [ConstructorArgument("key")]
  14. public string Key { get; set; }
  15. public string StringFormat { get; set; }
  16. #endregion Properties 
  17. #region Methods 
  18. // Constructors 
  19. public TranslaterExtension(string key)
  20. {
  21. Key = key;
  22. }
  23. // Methods 
  24. public override object ProvideValue(IServiceProvider serviceProvider)
  25. {
  26. string value = TranslateHelper.Translate(Key);
  27. if (!string.IsNullOrEmpty(StringFormat))
  28. {
  29. value = string.Format(TranslateHelper.Translate(StringFormat), value);
  30. }
  31. return value;
  32. }
  33. #endregion Methods 
  34. }
  35. }