Revert "[Xaml] allow the Previewer to provide their own Xaml files for any type"

This reverts commit 962c8fd352.
This commit is contained in:
Stephane Delcroix 2016-07-18 10:02:01 +02:00
Родитель 962c8fd352
Коммит dead1e0959
3 изменённых файлов: 2 добавлений и 23 удалений

Просмотреть файл

@ -1,9 +0,0 @@
using System;
namespace Xamarin.Forms.Xaml
{
public interface IXamlFileProvider
{
string GetXamlFor(Type type);
}
}

Просмотреть файл

@ -81,7 +81,6 @@
<Compile Include="ExpandMarkupsVisitor.cs" />
<Compile Include="XamlCompilationAttribute.cs" />
<Compile Include="TypeArgumentsParser.cs" />
<Compile Include="IXamlFileProvider.cs" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<ItemGroup>

Просмотреть файл

@ -38,8 +38,6 @@ namespace Xamarin.Forms.Xaml
internal static class XamlLoader
{
static readonly Dictionary<Type, string> XamlResources = new Dictionary<Type, string>();
internal static bool DoNotThrowOnExceptions { get; set; }
internal static IXamlFileProvider XamlFileProvider { get; set; }
public static void Load(object view, Type callingType)
{
@ -66,16 +64,12 @@ namespace Xamarin.Forms.Xaml
var rootnode = new RuntimeRootNode (new XmlType (reader.NamespaceURI, reader.Name, null), view, (IXmlNamespaceResolver)reader);
XamlParser.ParseXaml (rootnode, reader);
Visit (rootnode, new HydratationContext {
RootElement = view,
DoNotThrowOnExceptions = XamlLoader.DoNotThrowOnExceptions
});
Visit (rootnode, new HydratationContext { RootElement = view });
break;
}
}
}
[Obsolete ("Use the XamlFileProvider to provide xaml files")]
public static object Create (string xaml, bool doNotThrow = false)
{
object inflatedView = null;
@ -119,12 +113,6 @@ namespace Xamarin.Forms.Xaml
static string GetXamlForType(Type type)
{
string xaml = null;
//the Previewer might want to provide it's own xaml for this... let them do that
if (XamlFileProvider != null && (xaml = XamlFileProvider.GetXamlFor(type)) != null)
return xaml;
var assembly = type.GetTypeInfo().Assembly;
string resourceId;
@ -141,6 +129,7 @@ namespace Xamarin.Forms.Xaml
// first pass, pray to find it because the user named it correctly
string xaml = null;
foreach (var resource in resourceNames)
{
if (ResourceMatchesFilename(assembly, resource, likelyResourceName))