Exemple #1
0
        private static SearchResult GenerateVisualPropertySearchResult(View view, VisualPropertyData data)
        {
            var propertyIntPtr = Interop.View.GetVisualProperty(view.SwigCPtr, data.ViewPropertyIndex, data.VisualPropertyIndex);

            if (NDalicPINVOKE.SWIGPendingException.Pending)
            {
                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
            }

            var property = new Property(propertyIntPtr, true);

            if (property.propertyIndex == Property.InvalidIndex)
            {
                property.Dispose();
                return(data.RelatedData == null ? null : GenerateVisualPropertySearchResult(view, data.RelatedData));
            }

            SearchResult result = new SearchResult(property, data.ObjectConverter, data.PropertyValueConverter);

            if (data.RelatedData != null)
            {
                result.NextResult = GenerateVisualPropertySearchResult(view, data.RelatedData);
            }

            return(result);
        }
Exemple #2
0
 internal VisualPropertyData(int viewPropertyIndex, int visualPropertyIndex, OOConverter objectConverter = null, PPConverter propertyValueConverter = null, VisualPropertyData relatedData = null)
 {
     ViewPropertyIndex      = viewPropertyIndex;
     VisualPropertyIndex    = visualPropertyIndex;
     ObjectConverter        = objectConverter;
     PropertyValueConverter = propertyValueConverter;
     RelatedData            = relatedData;
 }