Ejemplo n.º 1
0
        /// <summary>
        /// Converts the property value (in respect to multiple source elements) and returns the converted value.
        /// </summary>
        /// <returns>Converted property value.</returns>
        /// <remarks>
        /// Converter: All equal --> use value. One differs --> empty value.
        /// </remarks>
        public override object GetPropertyValue()
        {
            Html value = PropertyGridEditorViewModel.GetPropertyValue(this.Elements[0], this.PropertyName) as Html;

            if (value == null && this.ViewModelStore != null)
            {
                IParentModelElement parent = this.ViewModelStore.GetDomainModelServices(this.Elements[0] as ModelElement).ElementParentProvider.GetParentModelElement(this.Elements[0] as ModelElement);
                if (parent == null)
                {
                    throw new ArgumentNullException("Parent of element " + this.Elements[0].ToString() + " can not be null");
                }
                string path    = parent.DomainFilePath;
                string dirName = new System.IO.FileInfo(path).DirectoryName;

                value = new Html("", dirName);

                //value = new Html("", this.ViewModelStore.GetDomainModelServices(this.Elements[0] as ModelElement).ElementParentProvider.GetDomainModelDirectory(this.Elements[0] as ModelElement));
            }
            return(value);
        }