Prechádzať zdrojové kódy

Merge branch 'kekekeks-reactive-pcl'

Steven Kirk 10 rokov pred
rodič
commit
cb7862b72e

+ 3 - 0
.gitmodules

@@ -0,0 +1,3 @@
+[submodule "src/Perspex.ReactiveUI/src"]
+	path = src/Perspex.ReactiveUI/src
+	url = https://github.com/reactiveui/ReactiveUI.git

+ 7 - 1
Perspex.sln

@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 14
-VisualStudioVersion = 14.0.23107.0
+VisualStudioVersion = 14.0.22823.1
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Win32", "src\Windows\Perspex.Win32\Perspex.Win32.csproj", "{811A76CF-1CF6-440F-963B-BBE31BD72A82}"
 EndProject
@@ -88,6 +88,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Gtk", "src\Gtk\Pers
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.Cairo", "src\Gtk\Perspex.Cairo\Perspex.Cairo.csproj", "{FB05AC90-89BA-4F2F-A924-F37875FB547C}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Perspex.ReactiveUI", "src\Perspex.ReactiveUI\Perspex.ReactiveUI.csproj", "{6417B24E-49C2-4985-8DB2-3AB9D898EC91}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -206,6 +208,10 @@ Global
 		{FB05AC90-89BA-4F2F-A924-F37875FB547C}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{FB05AC90-89BA-4F2F-A924-F37875FB547C}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{FB05AC90-89BA-4F2F-A924-F37875FB547C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6417B24E-49C2-4985-8DB2-3AB9D898EC91}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 1 - 0
appveyor.yml

@@ -1,6 +1,7 @@
 version: 1.0.{build}
 os: Visual Studio 2015
 before_build:
+- git submodule update --init
 - nuget restore Perspex.sln
 build:
   project: Perspex.sln

+ 1 - 1
readme.md

@@ -31,7 +31,7 @@ As mentioned above, Perspex is still in alpha and as such there's not much docum
 take a look at the [alpha release announcement](http://grokys.github.io/perspex/perspex-alpha/) for an 
 overview of how to get started but probably the best thing to do for now is to already know a little bit about WPF/Silverlight/UWP/XAML and ask questions in our [Gitter room](https://gitter.im/grokys/Perspex).
 
-There's also a high-level [architecture document](Docs/architecture.md) that is currently a little bit
+There's also a high-level [architecture document](docs/architecture.md) that is currently a little bit
 out of date, and I've also started writing blog posts on Perspex at http://grokys.github.io/.
 
 Contributions are always welcome!

+ 4 - 4
samples/TestApplication/TestApplication.csproj

@@ -35,10 +35,6 @@
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="ReactiveUI, Version=6.5.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\..\packages\reactiveui-core.6.5.0\lib\Net45\ReactiveUI.dll</HintPath>
-      <Private>True</Private>
-    </Reference>
     <Reference Include="Serilog, Version=1.5.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
       <HintPath>..\..\packages\Serilog.1.5.9\lib\net45\Serilog.dll</HintPath>
       <Private>True</Private>
@@ -119,6 +115,10 @@
       <Project>{42472427-4774-4C81-8AFF-9F27B8E31721}</Project>
       <Name>Perspex.Layout</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\src\Perspex.ReactiveUI\Perspex.ReactiveUI.csproj">
+      <Project>{6417B24E-49C2-4985-8DB2-3AB9D898EC91}</Project>
+      <Name>Perspex.ReactiveUI</Name>
+    </ProjectReference>
     <ProjectReference Include="..\..\src\Perspex.SceneGraph\Perspex.SceneGraph.csproj">
       <Project>{EB582467-6ABB-43A1-B052-E981BA910E3A}</Project>
       <Name>Perspex.SceneGraph</Name>

+ 8 - 10
samples/TestApplication/packages.config

@@ -1,13 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="reactiveui" version="6.5.0" targetFramework="net45" />
-  <package id="reactiveui-core" version="6.5.0" targetFramework="net45" />
-  <package id="Rx-Core" version="2.2.5" targetFramework="net45" />
-  <package id="Rx-Interfaces" version="2.2.5" targetFramework="net45" />
-  <package id="Rx-Linq" version="2.2.5" targetFramework="net45" />
-  <package id="Rx-Main" version="2.2.5" targetFramework="net45" />
-  <package id="Rx-PlatformServices" version="2.2.5" targetFramework="net45" />
-  <package id="Rx-XAML" version="2.2.5" targetFramework="net45" />
-  <package id="Serilog" version="1.5.9" targetFramework="net45" />
-  <package id="Splat" version="1.6.2" targetFramework="net45" />
+  <package id="Rx-Core" version="2.2.5" targetFramework="net45" userInstalled="true" />
+  <package id="Rx-Interfaces" version="2.2.5" targetFramework="net45" userInstalled="true" />
+  <package id="Rx-Linq" version="2.2.5" targetFramework="net45" userInstalled="true" />
+  <package id="Rx-Main" version="2.2.5" targetFramework="net45" userInstalled="true" />
+  <package id="Rx-PlatformServices" version="2.2.5" targetFramework="net45" userInstalled="true" />
+  <package id="Rx-XAML" version="2.2.5" targetFramework="net45" userInstalled="true" />
+  <package id="Serilog" version="1.5.9" targetFramework="net45" userInstalled="true" />
+  <package id="Splat" version="1.6.2" targetFramework="net45" userInstalled="true" />
 </packages>

+ 4 - 4
samples/XamlTestApplication/XamlTestApplication.csproj

@@ -44,10 +44,6 @@
       <HintPath>..\..\packages\OmniXaml.1.4.8.0\lib\portable-net45+win+Xamarin.iOS10+MonoAndroid10+MonoTouch10\OmniXaml.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="ReactiveUI, Version=6.5.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\..\packages\reactiveui-core.6.5.0\lib\Net45\ReactiveUI.dll</HintPath>
-      <Private>True</Private>
-    </Reference>
     <Reference Include="Serilog, Version=1.5.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
       <HintPath>..\..\packages\Serilog.1.5.9\lib\net45\Serilog.dll</HintPath>
       <Private>True</Private>
@@ -141,6 +137,10 @@
       <Project>{42472427-4774-4c81-8aff-9f27b8e31721}</Project>
       <Name>Perspex.Layout</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\src\Perspex.ReactiveUI\Perspex.ReactiveUI.csproj">
+      <Project>{6417B24E-49C2-4985-8DB2-3AB9D898EC91}</Project>
+      <Name>Perspex.ReactiveUI</Name>
+    </ProjectReference>
     <ProjectReference Include="..\..\src\Perspex.SceneGraph\Perspex.SceneGraph.csproj">
       <Project>{eb582467-6abb-43a1-b052-e981ba910e3a}</Project>
       <Name>Perspex.SceneGraph</Name>

+ 12 - 14
samples/XamlTestApplication/packages.config

@@ -1,17 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Glass" version="1.4.8.0" targetFramework="net46" />
-  <package id="OmniXaml" version="1.4.8.0" targetFramework="net46" />
-  <package id="reactiveui" version="6.5.0" targetFramework="net46" />
-  <package id="reactiveui-core" version="6.5.0" targetFramework="net46" />
-  <package id="Rx-Core" version="2.2.5" targetFramework="net46" />
-  <package id="Rx-Interfaces" version="2.2.5" targetFramework="net46" />
-  <package id="Rx-Linq" version="2.2.5" targetFramework="net46" />
-  <package id="Rx-Main" version="2.2.5" targetFramework="net46" />
-  <package id="Rx-PlatformServices" version="2.2.5" targetFramework="net46" />
-  <package id="Rx-XAML" version="2.2.5" targetFramework="net46" />
-  <package id="Serilog" version="1.5.9" targetFramework="net46" />
-  <package id="Splat" version="1.6.2" targetFramework="net46" />
-  <package id="Sprache" version="2.0.0.46" targetFramework="net46" />
-  <package id="Sprache.SuperJMN" version="2.0.0.50" targetFramework="net46" />
+  <package id="Glass" version="1.4.8.0" targetFramework="net46" userInstalled="true" />
+  <package id="OmniXaml" version="1.4.8.0" targetFramework="net46" userInstalled="true" />
+  <package id="Rx-Core" version="2.2.5" targetFramework="net46" userInstalled="true" />
+  <package id="Rx-Interfaces" version="2.2.5" targetFramework="net46" userInstalled="true" />
+  <package id="Rx-Linq" version="2.2.5" targetFramework="net46" userInstalled="true" />
+  <package id="Rx-Main" version="2.2.5" targetFramework="net46" userInstalled="true" />
+  <package id="Rx-PlatformServices" version="2.2.5" targetFramework="net46" userInstalled="true" />
+  <package id="Rx-XAML" version="2.2.5" targetFramework="net46" userInstalled="true" />
+  <package id="Serilog" version="1.5.9" targetFramework="net46" userInstalled="true" />
+  <package id="Splat" version="1.6.2" targetFramework="net46" userInstalled="true" />
+  <package id="Sprache" version="2.0.0.46" targetFramework="net46" userInstalled="true" />
+  <package id="Sprache.SuperJMN" version="2.0.0.50" targetFramework="net46" userInstalled="true" />
 </packages>

+ 0 - 4
src/Markup/Perspex.Markup.Xaml/Perspex.Markup.Xaml.csproj

@@ -121,10 +121,6 @@
       <HintPath>..\..\..\packages\OmniXaml.1.4.8.0\lib\portable-net45+win+Xamarin.iOS10+MonoAndroid10+MonoTouch10\OmniXaml.dll</HintPath>
       <Private>True</Private>
     </Reference>
-    <Reference Include="ReactiveUI, Version=6.5.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\..\..\packages\reactiveui-core.6.5.0\lib\Portable-Net45+Win8+WP8+WPA81\ReactiveUI.dll</HintPath>
-      <Private>True</Private>
-    </Reference>
     <Reference Include="Serilog, Version=1.5.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
       <HintPath>..\..\..\packages\Serilog.1.5.9\lib\portable-net45+win+wpa81+wp80+MonoAndroid10+MonoTouch10\Serilog.dll</HintPath>
       <Private>True</Private>

+ 12 - 14
src/Markup/Perspex.Markup.Xaml/packages.config

@@ -1,17 +1,15 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Glass" version="1.4.8.0" targetFramework="portable46-net451+win81" />
-  <package id="OmniXaml" version="1.4.8.0" targetFramework="portable46-net451+win81" />
-  <package id="reactiveui" version="6.5.0" targetFramework="portable46-net451+win81" />
-  <package id="reactiveui-core" version="6.5.0" targetFramework="portable46-net451+win81" />
-  <package id="Rx-Core" version="2.2.5" targetFramework="portable46-net451+win81" />
-  <package id="Rx-Interfaces" version="2.2.5" targetFramework="portable46-net451+win81" />
-  <package id="Rx-Linq" version="2.2.5" targetFramework="portable46-net451+win81" />
-  <package id="Rx-Main" version="2.2.5" targetFramework="portable46-net451+win81" />
-  <package id="Rx-PlatformServices" version="2.2.5" targetFramework="portable46-net451+win81" />
-  <package id="Serilog" version="1.5.9" targetFramework="portable46-net451+win81" />
-  <package id="Splat" version="1.6.2" targetFramework="portable46-net451+win81" />
-  <package id="Sprache" version="2.0.0.46" targetFramework="portable46-net451+win81" />
-  <package id="Sprache.SuperJMN" version="2.0.0.50" targetFramework="portable46-net451+win81" />
-  <package id="StyleCop.Analyzers" version="1.0.0-beta008" targetFramework="portable46-net451+win81" developmentDependency="true" />
+  <package id="Glass" version="1.4.8.0" targetFramework="portable46-net451+win81" userInstalled="true" />
+  <package id="OmniXaml" version="1.4.8.0" targetFramework="portable46-net451+win81" userInstalled="true" />
+  <package id="Rx-Core" version="2.2.5" targetFramework="portable46-net451+win81" userInstalled="true" />
+  <package id="Rx-Interfaces" version="2.2.5" targetFramework="portable46-net451+win81" userInstalled="true" />
+  <package id="Rx-Linq" version="2.2.5" targetFramework="portable46-net451+win81" userInstalled="true" />
+  <package id="Rx-Main" version="2.2.5" targetFramework="portable46-net451+win81" userInstalled="true" />
+  <package id="Rx-PlatformServices" version="2.2.5" targetFramework="portable46-net451+win81" userInstalled="true" />
+  <package id="Serilog" version="1.5.9" targetFramework="portable46-net451+win81" userInstalled="true" />
+  <package id="Splat" version="1.6.2" targetFramework="portable46-net451+win81" userInstalled="true" />
+  <package id="Sprache" version="2.0.0.46" targetFramework="portable46-net451+win81" userInstalled="true" />
+  <package id="Sprache.SuperJMN" version="2.0.0.50" targetFramework="portable46-net451+win81" userInstalled="true" />
+  <package id="StyleCop.Analyzers" version="1.0.0-beta008" targetFramework="portable46-net451+win81" developmentDependency="true" userInstalled="true" />
 </packages>

+ 4 - 4
src/Perspex.Diagnostics/Perspex.Diagnostics.csproj

@@ -63,6 +63,10 @@
       <Project>{42472427-4774-4C81-8AFF-9F27B8E31721}</Project>
       <Name>Perspex.Layout</Name>
     </ProjectReference>
+    <ProjectReference Include="..\Perspex.ReactiveUI\Perspex.ReactiveUI.csproj">
+      <Project>{6417B24E-49C2-4985-8DB2-3AB9D898EC91}</Project>
+      <Name>Perspex.ReactiveUI</Name>
+    </ProjectReference>
     <ProjectReference Include="..\Perspex.SceneGraph\Perspex.SceneGraph.csproj">
       <Project>{EB582467-6ABB-43A1-B052-E981BA910E3A}</Project>
       <Name>Perspex.SceneGraph</Name>
@@ -96,10 +100,6 @@
     <Compile Include="Views\TreePage.cs" />
   </ItemGroup>
   <ItemGroup>
-    <Reference Include="ReactiveUI, Version=6.5.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\..\packages\reactiveui-core.6.5.0\lib\Portable-Net45+Win8+WP8+WPA81\ReactiveUI.dll</HintPath>
-      <Private>True</Private>
-    </Reference>
     <Reference Include="Splat">
       <HintPath>..\..\packages\Splat.1.6.2\lib\Portable-net45+win+wpa81+wp80\Splat.dll</HintPath>
     </Reference>

+ 7 - 9
src/Perspex.Diagnostics/packages.config

@@ -1,12 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="reactiveui" version="6.5.0" targetFramework="portable45-net45+win8" />
-  <package id="reactiveui-core" version="6.5.0" targetFramework="portable45-net45+win8" />
-  <package id="Rx-Core" version="2.2.5" targetFramework="portable-net45+win8" />
-  <package id="Rx-Interfaces" version="2.2.5" targetFramework="portable-net45+win8" />
-  <package id="Rx-Linq" version="2.2.5" targetFramework="portable-net45+win8" />
-  <package id="Rx-Main" version="2.2.5" targetFramework="portable-net45+win8" />
-  <package id="Rx-PlatformServices" version="2.2.5" targetFramework="portable-net45+win8" />
-  <package id="Splat" version="1.6.2" targetFramework="portable45-net45+win8" />
-  <package id="StyleCop.Analyzers" version="1.0.0-beta008" targetFramework="portable45-net45+win8" developmentDependency="true" />
+  <package id="Rx-Core" version="2.2.5" targetFramework="portable-net45+win8" userInstalled="true" />
+  <package id="Rx-Interfaces" version="2.2.5" targetFramework="portable-net45+win8" userInstalled="true" />
+  <package id="Rx-Linq" version="2.2.5" targetFramework="portable-net45+win8" userInstalled="true" />
+  <package id="Rx-Main" version="2.2.5" targetFramework="portable-net45+win8" userInstalled="true" />
+  <package id="Rx-PlatformServices" version="2.2.5" targetFramework="portable-net45+win8" userInstalled="true" />
+  <package id="Splat" version="1.6.2" targetFramework="portable45-net45+win8" userInstalled="true" />
+  <package id="StyleCop.Analyzers" version="1.0.0-beta008" targetFramework="portable45-net45+win8" developmentDependency="true" userInstalled="true" />
 </packages>

+ 118 - 0
src/Perspex.ReactiveUI/Perspex.ReactiveUI.csproj

@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <MinimumVisualStudioVersion>10.0</MinimumVisualStudioVersion>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{6417B24E-49C2-4985-8DB2-3AB9D898EC91}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Perspex.ReactiveUI</RootNamespace>
+    <AssemblyName>Perspex.ReactiveUI</AssemblyName>
+    <DefaultLanguage>en-US</DefaultLanguage>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <TargetFrameworkProfile>Profile259</TargetFrameworkProfile>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;MONO PORTABLE</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;MONO PORTABLE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Registrations.cs" />
+    <Compile Include="src\ReactiveUI\ExpressionMixins.cs" />
+    <Compile Include="src\ReactiveUI\ExpressionRewriter.cs" />
+    <Compile Include="src\ReactiveUI\Activation.cs" />
+    <Compile Include="src\ReactiveUI\ReactiveBinding.cs" />
+    <Compile Include="src\ReactiveUI\AutoPersistHelper.cs" />
+    <Compile Include="src\ReactiveUI\BindingTypeConverters.cs" />
+    <Compile Include="src\ReactiveUI\CollectionDebugView.cs" />
+    <Compile Include="src\ReactiveUI\CommandBinding.cs" />
+    <Compile Include="src\ReactiveUI\CompatMixins.cs" />
+    <Compile Include="src\ReactiveUI\ContractStubs.cs" />
+    <Compile Include="src\ReactiveUI\CreatesCommandBinding.cs" />
+    <Compile Include="src\ReactiveUI\DefaultPropertyBinding.cs" />
+    <Compile Include="src\ReactiveUI\Errors.cs" />
+    <Compile Include="src\ReactiveUI\IDependencyResolver.cs" />
+    <Compile Include="src\ReactiveUI\INPCObservableForProperty.cs" />
+    <Compile Include="src\ReactiveUI\Interfaces.cs" />
+    <Compile Include="src\ReactiveUI\IROObservableForProperty.cs" />
+    <Compile Include="src\ReactiveUI\MessageBus.cs" />
+    <Compile Include="src\ReactiveUI\MobileLifecycle.cs" />
+    <Compile Include="src\ReactiveUI\NullDefaultPropertyBindingProvider.cs" />
+    <Compile Include="src\ReactiveUI\ObservableAsPropertyHelper.cs" />
+    <Compile Include="src\ReactiveUI\ObservedChangedMixin.cs" />
+    <Compile Include="src\ReactiveUI\OrderedComparer.cs" />
+    <Compile Include="src\ReactiveUI\POCOObservableForProperty.cs" />
+    <Compile Include="src\ReactiveUI\PropertyBinding.cs" />
+    <Compile Include="src\ReactiveUI\ReactiveList.cs" />
+    <Compile Include="src\ReactiveUI\ReactiveCollectionMixins.cs" />
+    <Compile Include="src\ReactiveUI\ReactiveCommand.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="src\ReactiveUI\ReactiveNotifyPropertyChangedMixin.cs" />
+    <Compile Include="src\ReactiveUI\ReactiveObject.cs" />
+    <Compile Include="src\ReactiveUI\RefcountDisposeWrapper.cs" />
+    <Compile Include="src\ReactiveUI\Reflection.cs" />
+    <Compile Include="src\ReactiveUI\RegisterableInterfaces.cs" />
+    <Compile Include="src\ReactiveUI\Registrations.cs" />
+    <Compile Include="src\ReactiveUI\RoutableViewModelMixin.cs" />
+    <Compile Include="src\ReactiveUI\RoutingState.cs" />
+    <Compile Include="src\ReactiveUI\RxApp.cs" />
+    <Compile Include="src\ReactiveUI\ViewLocator.cs" />
+    <Compile Include="src\ReactiveUI\ScheduledSubject.cs" />
+    <Compile Include="src\ReactiveUI\VariadicTemplates.cs" />
+    <Compile Include="src\ReactiveUI\WaitForDispatcherScheduler.cs" />
+    <Compile Include="src\ReactiveUI\LoggingMixins.cs" />
+    <Compile Include="src\ReactiveUI\IReactiveObject.cs" />
+    <Compile Include="src\ReactiveUI\WeakEventManager.cs" />
+    <Compile Include="src\ReactiveUI\Legacy\ReactiveCommand.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="Splat, Version=1.6.2.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\Splat.1.6.2\lib\Portable-net45+win+wpa81+wp80\Splat.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Reactive.Core, Version=2.2.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\Rx-Core.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.Core.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Reactive.Interfaces, Version=2.2.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\Rx-Interfaces.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.Interfaces.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Reactive.Linq, Version=2.2.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\Rx-Linq.2.2.5\lib\portable-net45+winrt45+wp8+wpa81\System.Reactive.Linq.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="packages.config" />
+  </ItemGroup>
+  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>

+ 30 - 0
src/Perspex.ReactiveUI/Properties/AssemblyInfo.cs

@@ -0,0 +1,30 @@
+using System.Resources;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Perspex.ReactiveUI")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Perspex.ReactiveUI")]
+[assembly: AssemblyCopyright("Copyright ©  2015")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: NeutralResourcesLanguage("en")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 18 - 0
src/Perspex.ReactiveUI/Registrations.cs

@@ -0,0 +1,18 @@
+using System;
+
+
+namespace ReactiveUI
+{
+    /// <summary>
+    /// Ignore me. This class is a secret handshake between RxUI and RxUI.Xaml
+    /// in order to register certain classes on startup that would be difficult
+    /// to register otherwise.
+    /// </summary>
+    public class PlatformRegistrations : IWantsToRegisterStuff
+    {
+        public void Register(Action<Func<object>, Type> registerFunction)
+        {
+            
+        }
+    }
+}

+ 7 - 0
src/Perspex.ReactiveUI/packages.config

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="Rx-Core" version="2.2.5" targetFramework="portable45-net45+win8+wp8+wpa81" userInstalled="true" />
+  <package id="Rx-Interfaces" version="2.2.5" targetFramework="portable45-net45+win8+wp8+wpa81" userInstalled="true" />
+  <package id="Rx-Linq" version="2.2.5" targetFramework="portable45-net45+win8+wp8+wpa81" userInstalled="true" />
+  <package id="Splat" version="1.6.2" targetFramework="portable45-net45+win8+wp8+wpa81" userInstalled="true" />
+</packages>

+ 1 - 0
src/Perspex.ReactiveUI/src

@@ -0,0 +1 @@
+Subproject commit 3f725c808b1d4c8457f0d3204e0a071aa462cd75