[reflection] Coop handles icalls in System.Reflection and System.RuntimeTypeHandle...
[mono.git] / mcs / class / referencesource / System.Activities.Presentation / System.Activities.Presentation / System / Activities / Presentation / Converters / ModelToObjectValueConverter.cs
1 //----------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation.  All rights reserved.
3 //----------------------------------------------------------------
4
5 namespace System.Activities.Presentation.Converters
6 {
7     using System.Windows.Data;
8     using System.Globalization;
9     using System.Activities.Presentation.Model;
10
11     // This class is used to convert a ModelItem to the innerobject, when binding to whole objectin xaml.
12     // reverse conversion is not required beacuse ModelProperty.SetValue accepts object as is.
13     public class ModelToObjectValueConverter : IValueConverter
14     {
15         public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
16         {
17             object convertedValue = null;
18             if (value != null)
19             {
20                 if (value is ModelItem)
21                 {
22                     convertedValue = ((ModelItem)value).GetCurrentValue();
23                 }
24                 else
25                 {
26                     convertedValue = value;
27                 }
28             }
29             return convertedValue;
30         }
31
32         public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
33         {
34             return value;
35         }
36     }
37 }