/// <summary> /// Initializes an instance of the extension to set the language property for an /// element to the current <see cref="ICultureManager.UICulture"/> property value. /// </summary> internal UICultureExtension(MarkupExtensionManager markupExtensionManager, ICultureManager cultureManager) : base(markupExtensionManager) { _cultureManager = cultureManager; WeakEventManager <ICultureManager, EventArgs> .AddHandler(_cultureManager, "UICultureChanged", cultureManager_UICultureChanged); }
/// <summary> /// Initializes a new instance of the markup extension. /// </summary> internal LocalizeExtension(MarkupExtensionManager markupExtensionManager, ICultureManager cultureManager, string key) : base(markupExtensionManager) { _cultureManager = cultureManager; _key = key; WeakEventManager <ICultureManager, EventArgs> .AddHandler(_cultureManager, "UICultureChanged", cultureManager_UICultureChanged); }
/// <summary> /// Handles a change to the attached DefaultResxName property. /// </summary> /// <param name="element">The dependency object (a WPF element)</param> /// <param name="args">The dependency property changed event arguments</param> /// <remarks>In design mode, updates the extension with the correct ResxName</remarks> private static void OnDefaultResxNamePropertyChanged(DependencyObject element, DependencyPropertyChangedEventArgs args) { if (DesignerProperties.GetIsInDesignMode(element)) { var applicableExtensions = MarkupExtensionManager.For <LocalizeExtension>(CleanupInterval).ActiveExtensions .OfType <LocalizeExtension>() .Where(extension => extension.IsTarget(element)); foreach (var extension in applicableExtensions) { // Force the resource manager to be reloaded when the attached resx name changes. extension._resourceManager = null; extension._defaultResxName = args.NewValue as string; extension.UpdateTarget(element); } } }
/// <summary> /// Initializes a new instance of the markup extension. /// </summary> /// <param name="key">The key used to get the value from the resources</param> public LocalizeExtension(string key) : this(MarkupExtensionManager.For <LocalizeExtension>(CleanupInterval), CultureManager.Default, key) { }
/// <summary> /// Initializes a new instance of a markup extension. /// </summary> public ManagedMarkupExtension(MarkupExtensionManager manager) { manager.RegisterExtension(this); }
/// <summary> /// Initializes an instance of the extension to set the language property for an /// element to the current <see cref="ICultureManager.UICulture"/> property value. /// </summary> public UICultureExtension() : this(MarkupExtensionManager.For <UICultureExtension>(2), CultureManager.Default) { }