diff options
author | Dominique Louis <dolouis@microsoft.com> | 2020-10-08 18:09:21 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-08 18:09:21 +0300 |
commit | d820cccf8bb64a27b02cea4d9ad72a742dc4eb8f (patch) | |
tree | d43772fd3d8f19312cb7cbe20409e53c7be5cff2 /Xamarin.PropertyEditing.Windows | |
parent | 322d6c8f8298d519c94bad0f745b53bc2ebfed1f (diff) |
Refactor to have individual Date and Time Controls for better mapping… (#756)
* Refactor to have individual Date and Time Controls for better mapping for .Forms
* Add default control mapping to the TypeMap
* Call our initialise value method.
* Use custom controls and converters for our custom Date/Time
* Let's return the 'broken' string, if an error occurs, until they correct it.
Diffstat (limited to 'Xamarin.PropertyEditing.Windows')
7 files changed, 355 insertions, 224 deletions
diff --git a/Xamarin.PropertyEditing.Windows/DateEditorControl.cs b/Xamarin.PropertyEditing.Windows/DateEditorControl.cs new file mode 100644 index 0000000..d93fd0f --- /dev/null +++ b/Xamarin.PropertyEditing.Windows/DateEditorControl.cs @@ -0,0 +1,12 @@ +using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Xamarin.PropertyEditing.Windows
+{
+ class DateEditorControl : PropertyEditorControl
+ {
+ }
+}
diff --git a/Xamarin.PropertyEditing.Windows/DateToTextConverter.cs b/Xamarin.PropertyEditing.Windows/DateToTextConverter.cs new file mode 100644 index 0000000..1c9dd63 --- /dev/null +++ b/Xamarin.PropertyEditing.Windows/DateToTextConverter.cs @@ -0,0 +1,32 @@ +using System;
+using System.Globalization;
+using System.Windows;
+using System.Windows.Data;
+using System.Windows.Markup;
+using Xamarin.PropertyEditing.Common;
+
+namespace Xamarin.PropertyEditing.Windows
+{
+ [ValueConversion (typeof (Date), typeof (string))]
+ internal class DateToTextConverter : MarkupExtension, IValueConverter
+ {
+ public object Convert (object value, Type targetType, object parameter, CultureInfo culture)
+ => !(value is Date dateValue) ? DependencyProperty.UnsetValue
+ : dateValue.ToString ();
+
+ public object ConvertBack (object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ if (value is string dateValue) {
+ var parsedValue = Date.Parse (dateValue);
+ if (parsedValue != null)
+ return parsedValue;
+ else
+ return value;
+ } else {
+ return DependencyProperty.UnsetValue;
+ }
+ }
+
+ public override object ProvideValue (IServiceProvider serviceProvider) => this;
+ }
+}
diff --git a/Xamarin.PropertyEditing.Windows/EditorPropertySelector.cs b/Xamarin.PropertyEditing.Windows/EditorPropertySelector.cs index a2b4e6a..82eedbd 100644 --- a/Xamarin.PropertyEditing.Windows/EditorPropertySelector.cs +++ b/Xamarin.PropertyEditing.Windows/EditorPropertySelector.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Windows; using System.Windows.Controls; +using Xamarin.PropertyEditing.Common;
using Xamarin.PropertyEditing.Drawing; using Xamarin.PropertyEditing.ViewModels; @@ -113,7 +114,11 @@ namespace Xamarin.PropertyEditing.Windows { typeof(TypePropertyViewModel), typeof(TypeEditorControl) }, { typeof(CollectionPropertyViewModel), typeof(CollectionEditor) }, { typeof(RatioViewModel), typeof(RatioEditorControl) }, - { typeof(AutoResizingPropertyViewModel), typeof(AutoResizingMaskEditorControl) } + { typeof(AutoResizingPropertyViewModel), typeof(AutoResizingMaskEditorControl) }, + { typeof(PropertyViewModel<char>), typeof(StringEditorControl) }, + { typeof(PropertyViewModel<FilePath>), typeof(StringEditorControl) }, + { typeof(PropertyViewModel<Date>), typeof(DateEditorControl) }, + { typeof(PropertyViewModel<Time>), typeof(TimeEditorControl) }, }; } } diff --git a/Xamarin.PropertyEditing.Windows/Themes/Resources.xaml b/Xamarin.PropertyEditing.Windows/Themes/Resources.xaml index e50445c..ca483d9 100644 --- a/Xamarin.PropertyEditing.Windows/Themes/Resources.xaml +++ b/Xamarin.PropertyEditing.Windows/Themes/Resources.xaml @@ -49,6 +49,8 @@ <local:NegativeThicknessConverter x:Key="NegativeThicknessConverter" /> <local:GroupedEditorPropertySelector x:Key="GroupedEditorSelector" /> <local:MultiplierConverter x:Key="MultiplierConverter" /> + <local:DateToTextConverter x:Key="DateToTextConverter" /> + <local:TimeToTextConverter x:Key="TimeToTextConverter" /> <Style TargetType="local:CombinablePredefinedValuesEditor"> <Setter Property="Template"> @@ -301,6 +303,38 @@ </Setter> </Style> + <Style TargetType="local:DateEditorControl"> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="local:DateEditorControl"> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="*" /> + </Grid.ColumnDefinitions> + + <local:TextBoxEx x:Name="TextBox" Grid.Column="0" FocusSelectsAll="True" AutomationProperties.Name="{Binding Property.Name,Mode=OneTime}" Text="{Binding Value,UpdateSourceTrigger=Explicit,Converter={StaticResource DateToTextConverter}}" VerticalContentAlignment="Center" IsEnabled="{Binding IsInputEnabled}" /> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style TargetType="local:TimeEditorControl"> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="local:TimeEditorControl"> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="*" /> + </Grid.ColumnDefinitions> + + <local:TextBoxEx x:Name="TextBox" Grid.Column="0" FocusSelectsAll="True" AutomationProperties.Name="{Binding Property.Name,Mode=OneTime}" Text="{Binding Value,UpdateSourceTrigger=Explicit,Converter={StaticResource TimeToTextConverter}}" VerticalContentAlignment="Center" IsEnabled="{Binding IsInputEnabled}" /> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style TargetType="local:BoolEditorControl"> <Setter Property="Template"> <Setter.Value> diff --git a/Xamarin.PropertyEditing.Windows/TimeEditorControl.cs b/Xamarin.PropertyEditing.Windows/TimeEditorControl.cs new file mode 100644 index 0000000..9fd1e3d --- /dev/null +++ b/Xamarin.PropertyEditing.Windows/TimeEditorControl.cs @@ -0,0 +1,12 @@ +using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Xamarin.PropertyEditing.Windows
+{
+ class TimeEditorControl : PropertyEditorControl
+ {
+ }
+}
diff --git a/Xamarin.PropertyEditing.Windows/TimeToTextConverter.cs b/Xamarin.PropertyEditing.Windows/TimeToTextConverter.cs new file mode 100644 index 0000000..d736141 --- /dev/null +++ b/Xamarin.PropertyEditing.Windows/TimeToTextConverter.cs @@ -0,0 +1,32 @@ +using System;
+using System.Globalization;
+using System.Windows;
+using System.Windows.Data;
+using System.Windows.Markup;
+using Xamarin.PropertyEditing.Common;
+
+namespace Xamarin.PropertyEditing.Windows
+{
+ [ValueConversion (typeof (Time), typeof (string))]
+ internal class TimeToTextConverter : MarkupExtension, IValueConverter
+ {
+ public object Convert (object value, Type targetType, object parameter, CultureInfo culture)
+ => !(value is Time timeValue) ? DependencyProperty.UnsetValue
+ : timeValue.ToString ();
+
+ public object ConvertBack (object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ if (value is string dateValue) {
+ var parsedValue = Time.Parse (dateValue);
+ if (parsedValue != null)
+ return parsedValue;
+ else
+ return value;
+ } else {
+ return DependencyProperty.UnsetValue;
+ }
+ }
+
+ public override object ProvideValue (IServiceProvider serviceProvider) => this;
+ }
+}
diff --git a/Xamarin.PropertyEditing.Windows/Xamarin.PropertyEditing.Windows.csproj b/Xamarin.PropertyEditing.Windows/Xamarin.PropertyEditing.Windows.csproj index fd84130..42f3aba 100644 --- a/Xamarin.PropertyEditing.Windows/Xamarin.PropertyEditing.Windows.csproj +++ b/Xamarin.PropertyEditing.Windows/Xamarin.PropertyEditing.Windows.csproj @@ -1,223 +1,227 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProjectGuid>{60AF04BE-1B6B-411B-BCBA-C95EAFBD7AC0}</ProjectGuid> - <OutputType>Library</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <RootNamespace>Xamarin.PropertyEditing.Windows</RootNamespace> - <AssemblyName>Xamarin.PropertyEditing.Windows</AssemblyName> - <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> - <FileAlignment>512</FileAlignment> - <TargetFrameworkProfile /> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugSymbols>true</DebugSymbols> - <DebugType>full</DebugType> - <Optimize>false</Optimize> - <OutputPath>bin\Debug\</OutputPath> - <DefineConstants>DEBUG;TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - <OutputPath>bin\Release\</OutputPath> - <DefineConstants>TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - </PropertyGroup> - <ItemGroup> - <Reference Include="PresentationCore" /> - <Reference Include="PresentationFramework" /> - <Reference Include="PresentationFramework.Aero" /> - <Reference Include="System" /> - <Reference Include="System.Core" /> - <Reference Include="System.Drawing" /> - <Reference Include="System.Windows.Presentation" /> - <Reference Include="System.Xaml" /> - <Reference Include="System.Xml.Linq" /> - <Reference Include="System.Data.DataSetExtensions" /> - <Reference Include="Microsoft.CSharp" /> - <Reference Include="System.Data" /> - <Reference Include="System.Net.Http" /> - <Reference Include="System.Xml" /> - <Reference Include="UIAutomationProvider" /> - <Reference Include="WindowsBase" /> - </ItemGroup> - <ItemGroup> - <Compile Include="..\Xamarin.PropertyEditing\Properties\GlobalAssemblyInfo.cs"> - <Link>Properties\GlobalAssemblyInfo.cs</Link> - </Compile> - <Compile Include="ArrangeModeLocalizedConverter.cs" /> - <Compile Include="AutoResizingMaskEditorControl.cs" /> - <Compile Include="BoolEditorControl.cs" /> - <Compile Include="BoolsToVisibilityConverter.cs" /> - <Compile Include="BrushBoxControl.cs" /> - <Compile Include="BrushChoiceTemplateSelector.cs" /> - <Compile Include="BrushEditorControl.cs" /> - <Compile Include="BrushTabbedEditorControl.cs" /> - <Compile Include="BrushToDarknessConverter.cs" /> - <Compile Include="ButtonEx.cs" /> - <Compile Include="ByteToDoubleConverter.cs" /> - <Compile Include="CategoryExpander.cs" /> - <Compile Include="CollectionEditor.cs" /> - <Compile Include="CollectionEditorWindow.xaml.cs"> - <DependentUpon>CollectionEditorWindow.xaml</DependentUpon> - </Compile> - <Compile Include="CombinablePredefinedValuesEditorControl.cs" /> - <Compile Include="ComboBoxEx.cs" /> - <Compile Include="CommonBrushToBrushConverter.cs" /> - <Compile Include="ByteToPercentageConverter.cs" /> - <Compile Include="ChoiceControl.cs" /> - <Compile Include="ColorComponentBox.cs" /> - <Compile Include="ColorComponentModel.cs" /> - <Compile Include="ColorComponentsEditorControl.cs" /> - <Compile Include="ColorComponentToBrushConverter.cs" /> - <Compile Include="ColorEditorControlBase.cs" /> - <Compile Include="ColorHelper.cs" /> - <Compile Include="CommonColorToColorConverter.cs" /> - <Compile Include="CreateBindingWindow.xaml.cs"> - <DependentUpon>CreateBindingWindow.xaml</DependentUpon> - </Compile> - <Compile Include="CreateResourceWindow.xaml.cs"> - <DependentUpon>CreateResourceWindow.xaml</DependentUpon> - </Compile> - <Compile Include="CreateVariantWindow.xaml.cs"> - <DependentUpon>CreateVariantWindow.xaml</DependentUpon> - </Compile> - <Compile Include="DoubleToAngleConverter.cs" /> - <Compile Include="CreateValueConverterWindow.xaml.cs"> - <DependentUpon>CreateValueConverterWindow.xaml</DependentUpon> - </Compile> - <Compile Include="EntryPopup.cs" /> - <Compile Include="CurrentColorEditorControl.cs" /> - <Compile Include="DoubleToPercentageConverter.cs" /> - <Compile Include="DoubleToQuantityConverter.cs" /> - <Compile Include="FilterExpander.cs" /> - <Compile Include="HasItemsToVisibilityConverter.cs" /> - <Compile Include="InvertedVisibilityConverter.cs" /> - <Compile Include="InvokePropertyButtonCommand.cs" /> - <Compile Include="IPropertiesHost.cs" /> - <Compile Include="MaterialDesignColorEditorControl.cs" /> - <Compile Include="MultiplierConverter.cs" /> - <Compile Include="MultiplyMarginConverter.cs" /> - <Compile Include="NegativeThicknessConverter.cs" /> - <Compile Include="NullVisibilityConverter.cs" /> - <Compile Include="ObjectEditorControl.cs" /> - <Compile Include="PreviewTemplateSelector.cs" /> - <Compile Include="ResourceBrushEditorControl.cs" /> - <Compile Include="ResourceSelectorWindow.xaml.cs"> - <DependentUpon>ResourceSelectorWindow.xaml</DependentUpon> - </Compile> - <Compile Include="Spinner.cs" /> - <Compile Include="TextBoxEx.cs" /> - <Compile Include="ToggleButtonEx.cs" /> - <Compile Include="EditorPropertySelector.cs" /> - <Compile Include="EnumEditorControl.cs" /> - <Compile Include="HexColorConverter.cs" /> - <Compile Include="HeaderedContextMenu.cs" /> - <Compile Include="GroupEditorControl.cs" /> - <Compile Include="HostEnvironment.cs" /> - <Compile Include="MenuButton.cs" /> - <Compile Include="NumericEditorControl.cs" /> - <Compile Include="NumericTemplateSelector.cs" /> - <Compile Include="NumericUpDownControl.cs" /> - <Compile Include="OppositeBoolConverter.cs" /> - <Compile Include="PointEditorControl.cs" /> - <Compile Include="PointHelper.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> - <Compile Include="PropertyButton.cs" /> - <Compile Include="PropertyEditorControl.cs" /> - <Compile Include="PropertyEditorPanel.cs" /> - <Compile Include="PropertyMenuItemContainerStyleSelector.cs" /> - <Compile Include="PropertyPresenter.cs" /> - <Compile Include="ShadeEditorControl.cs" /> - <Compile Include="RatioEditorControl.cs" /> - <Compile Include="SizeEditorControl.cs" /> - <Compile Include="HueEditorControl.cs" /> - <Compile Include="SolidBrushEditorControl.cs" /> - <Compile Include="ThicknessEditorControl.cs" /> - <Compile Include="StringEditorControl.cs" /> - <Compile Include="TreeViewItemEx.cs" /> - <Compile Include="TypeEditorControl.cs" /> - <Compile Include="TypeSelectorControl.xaml.cs"> - <DependentUpon>TypeSelectorControl.xaml</DependentUpon> - </Compile> - <Compile Include="TypeSelectorWindow.xaml.cs"> - <DependentUpon>TypeSelectorWindow.xaml</DependentUpon> - </Compile> - <Compile Include="WindowEx.cs" /> - <Compile Include="XamlHelper.cs" /> - </ItemGroup> - <ItemGroup> - <Page Include="CollectionEditorWindow.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - <Page Include="CreateBindingWindow.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - <Page Include="CreateResourceWindow.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - <Page Include="CreateValueConverterWindow.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - <Page Include="CreateVariantWindow.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - <Page Include="ResourceSelectorWindow.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - <Page Include="Themes\DialogResources.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - <Page Include="Themes\Resources.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - <Page Include="Themes\PropertyEditorPanelStyle.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - <Page Include="Themes\VS.Dark.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - <Page Include="Themes\VS.Light.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - <Page Include="TypeSelectorControl.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - <Page Include="TypeSelectorWindow.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\Xamarin.PropertyEditing\Xamarin.PropertyEditing.csproj"> - <Project>{A0B6FE73-D046-4E1C-BA9D-F20683889C5A}</Project> - <Name>Xamarin.PropertyEditing</Name> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <Page Include="Themes\MenuButtonStyle.xaml"> - <SubType>Designer</SubType> - <Generator>MSBuild:Compile</Generator> - </Page> - </ItemGroup> - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> -</Project> +<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{60AF04BE-1B6B-411B-BCBA-C95EAFBD7AC0}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Xamarin.PropertyEditing.Windows</RootNamespace>
+ <AssemblyName>Xamarin.PropertyEditing.Windows</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="PresentationCore" />
+ <Reference Include="PresentationFramework" />
+ <Reference Include="PresentationFramework.Aero" />
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Windows.Presentation" />
+ <Reference Include="System.Xaml" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ <Reference Include="UIAutomationProvider" />
+ <Reference Include="WindowsBase" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="..\Xamarin.PropertyEditing\Properties\GlobalAssemblyInfo.cs">
+ <Link>Properties\GlobalAssemblyInfo.cs</Link>
+ </Compile>
+ <Compile Include="ArrangeModeLocalizedConverter.cs" />
+ <Compile Include="AutoResizingMaskEditorControl.cs" />
+ <Compile Include="BoolEditorControl.cs" />
+ <Compile Include="BoolsToVisibilityConverter.cs" />
+ <Compile Include="BrushBoxControl.cs" />
+ <Compile Include="BrushChoiceTemplateSelector.cs" />
+ <Compile Include="BrushEditorControl.cs" />
+ <Compile Include="BrushTabbedEditorControl.cs" />
+ <Compile Include="BrushToDarknessConverter.cs" />
+ <Compile Include="ButtonEx.cs" />
+ <Compile Include="ByteToDoubleConverter.cs" />
+ <Compile Include="CategoryExpander.cs" />
+ <Compile Include="CollectionEditor.cs" />
+ <Compile Include="CollectionEditorWindow.xaml.cs">
+ <DependentUpon>CollectionEditorWindow.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="CombinablePredefinedValuesEditorControl.cs" />
+ <Compile Include="ComboBoxEx.cs" />
+ <Compile Include="CommonBrushToBrushConverter.cs" />
+ <Compile Include="ByteToPercentageConverter.cs" />
+ <Compile Include="ChoiceControl.cs" />
+ <Compile Include="ColorComponentBox.cs" />
+ <Compile Include="ColorComponentModel.cs" />
+ <Compile Include="ColorComponentsEditorControl.cs" />
+ <Compile Include="ColorComponentToBrushConverter.cs" />
+ <Compile Include="ColorEditorControlBase.cs" />
+ <Compile Include="ColorHelper.cs" />
+ <Compile Include="CommonColorToColorConverter.cs" />
+ <Compile Include="CreateBindingWindow.xaml.cs">
+ <DependentUpon>CreateBindingWindow.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="CreateResourceWindow.xaml.cs">
+ <DependentUpon>CreateResourceWindow.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="CreateVariantWindow.xaml.cs">
+ <DependentUpon>CreateVariantWindow.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="DateEditorControl.cs" />
+ <Compile Include="DateToTextConverter.cs" />
+ <Compile Include="DoubleToAngleConverter.cs" />
+ <Compile Include="CreateValueConverterWindow.xaml.cs">
+ <DependentUpon>CreateValueConverterWindow.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="EntryPopup.cs" />
+ <Compile Include="CurrentColorEditorControl.cs" />
+ <Compile Include="DoubleToPercentageConverter.cs" />
+ <Compile Include="DoubleToQuantityConverter.cs" />
+ <Compile Include="FilterExpander.cs" />
+ <Compile Include="HasItemsToVisibilityConverter.cs" />
+ <Compile Include="InvertedVisibilityConverter.cs" />
+ <Compile Include="InvokePropertyButtonCommand.cs" />
+ <Compile Include="IPropertiesHost.cs" />
+ <Compile Include="MaterialDesignColorEditorControl.cs" />
+ <Compile Include="MultiplierConverter.cs" />
+ <Compile Include="MultiplyMarginConverter.cs" />
+ <Compile Include="NegativeThicknessConverter.cs" />
+ <Compile Include="NullVisibilityConverter.cs" />
+ <Compile Include="ObjectEditorControl.cs" />
+ <Compile Include="PreviewTemplateSelector.cs" />
+ <Compile Include="ResourceBrushEditorControl.cs" />
+ <Compile Include="ResourceSelectorWindow.xaml.cs">
+ <DependentUpon>ResourceSelectorWindow.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="Spinner.cs" />
+ <Compile Include="TextBoxEx.cs" />
+ <Compile Include="TimeEditorControl.cs" />
+ <Compile Include="TimeToTextConverter.cs" />
+ <Compile Include="ToggleButtonEx.cs" />
+ <Compile Include="EditorPropertySelector.cs" />
+ <Compile Include="EnumEditorControl.cs" />
+ <Compile Include="HexColorConverter.cs" />
+ <Compile Include="HeaderedContextMenu.cs" />
+ <Compile Include="GroupEditorControl.cs" />
+ <Compile Include="HostEnvironment.cs" />
+ <Compile Include="MenuButton.cs" />
+ <Compile Include="NumericEditorControl.cs" />
+ <Compile Include="NumericTemplateSelector.cs" />
+ <Compile Include="NumericUpDownControl.cs" />
+ <Compile Include="OppositeBoolConverter.cs" />
+ <Compile Include="PointEditorControl.cs" />
+ <Compile Include="PointHelper.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="PropertyButton.cs" />
+ <Compile Include="PropertyEditorControl.cs" />
+ <Compile Include="PropertyEditorPanel.cs" />
+ <Compile Include="PropertyMenuItemContainerStyleSelector.cs" />
+ <Compile Include="PropertyPresenter.cs" />
+ <Compile Include="ShadeEditorControl.cs" />
+ <Compile Include="RatioEditorControl.cs" />
+ <Compile Include="SizeEditorControl.cs" />
+ <Compile Include="HueEditorControl.cs" />
+ <Compile Include="SolidBrushEditorControl.cs" />
+ <Compile Include="ThicknessEditorControl.cs" />
+ <Compile Include="StringEditorControl.cs" />
+ <Compile Include="TreeViewItemEx.cs" />
+ <Compile Include="TypeEditorControl.cs" />
+ <Compile Include="TypeSelectorControl.xaml.cs">
+ <DependentUpon>TypeSelectorControl.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="TypeSelectorWindow.xaml.cs">
+ <DependentUpon>TypeSelectorWindow.xaml</DependentUpon>
+ </Compile>
+ <Compile Include="WindowEx.cs" />
+ <Compile Include="XamlHelper.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Page Include="CollectionEditorWindow.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="CreateBindingWindow.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="CreateResourceWindow.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="CreateValueConverterWindow.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="CreateVariantWindow.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="ResourceSelectorWindow.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Themes\DialogResources.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Themes\Resources.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Themes\PropertyEditorPanelStyle.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Themes\VS.Dark.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="Themes\VS.Light.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="TypeSelectorControl.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ <Page Include="TypeSelectorWindow.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Xamarin.PropertyEditing\Xamarin.PropertyEditing.csproj">
+ <Project>{A0B6FE73-D046-4E1C-BA9D-F20683889C5A}</Project>
+ <Name>Xamarin.PropertyEditing</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Page Include="Themes\MenuButtonStyle.xaml">
+ <SubType>Designer</SubType>
+ <Generator>MSBuild:Compile</Generator>
+ </Page>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file |