public override object ProvideValue(IServiceProvider serviceProvider) { if (ReferenceEquals(this.Binding, null)) return null; try { var context = DetermineContext(serviceProvider); if (String.IsNullOrEmpty(context)) Debug.WriteLine(String.Format("LocExtension: Could not find valid translation context for binding with path [{0}]. Please specify context explicitly", this.Binding.Path)); IValueConverter converter = new LocalizationConverter(context, Localizer); if (!ReferenceEquals(this.Binding.Converter, null)) { var convGroup = new ConverterGroup(); convGroup.Converters.Add(this.Binding.Converter); convGroup.Converters.Add(converter); converter = convGroup; } this.Binding.Converter = converter; return this.Binding.ProvideValue(serviceProvider); } catch (Exception ex) { Debug.WriteLine("LocExtension: An exception occured while resolving translation for path [{0}]\r\n{1}\r\n{2}", this.Binding.Path, ex.Message, ex.StackTrace); return String.Format("[{0}]", this.Binding.Path); } }
public override object ProvideValue(IServiceProvider serviceProvider) { if (ReferenceEquals(this.Binding, null)) { return(null); } try { var context = DetermineContext(serviceProvider); if (String.IsNullOrEmpty(context)) { Debug.WriteLine(String.Format("LocExtension: Could not find valid translation context for binding with path [{0}]. Please specify context explicitly", this.Binding.Path)); } IValueConverter converter = new LocalizationConverter(context, Localizer); if (!ReferenceEquals(this.Binding.Converter, null)) { var convGroup = new ConverterGroup(); convGroup.Converters.Add(this.Binding.Converter); convGroup.Converters.Add(converter); converter = convGroup; } this.Binding.Converter = converter; return(this.Binding.ProvideValue(serviceProvider)); } catch (Exception ex) { Debug.WriteLine("LocExtension: An exception occured while resolving translation for path [{0}]\r\n{1}\r\n{2}", this.Binding.Path, ex.Message, ex.StackTrace); return(String.Format("[{0}]", this.Binding.Path)); } }