コード例 #1
0
        /// <summary>
        /// Adds the element.
        /// </summary>
        /// <param name="frameworkElement">
        /// The framework element.
        /// </param>
        /// <param name="action">
        /// The action to execute when the framework element is loaded. Can be <c>null</c>.
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// The <paramref name="frameworkElement"/> is <c>null</c>.
        /// </exception>
        public void AddElement(FrameworkElement frameworkElement, Action action = null)
        {
            Argument.IsNotNull("frameworkElement", frameworkElement);

            var elementInfo = new WeakFrameworkElementInfo(frameworkElement, action);

            elementInfo.Loaded   += OnFrameworkElementLoaded;
            elementInfo.Unloaded += OnFrameworkElementUnloaded;

            lock (_lock)
            {
                _frameworkElements.Add(elementInfo);
            }
        }
コード例 #2
0
        /// <summary>
        /// Adds the element.
        /// </summary>
        /// <param name="frameworkElement">
        /// The framework element.
        /// </param>
        /// <param name="action">
        /// The action to execute when the framework element is loaded. Can be <c>null</c>.
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// The <paramref name="frameworkElement"/> is <c>null</c>.
        /// </exception>
        public void AddElement(FrameworkElement frameworkElement, Action action = null)
        {
            Argument.IsNotNull("frameworkElement", frameworkElement);

            var elementInfo = new WeakFrameworkElementInfo(frameworkElement, action);

            elementInfo.Loaded += OnFrameworkElementLoaded;
            elementInfo.Unloaded += OnFrameworkElementUnloaded;

            lock (_lock)
            {
                _frameworkElements.Add(elementInfo);
            }
        }