Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
118 changes: 20 additions & 98 deletions Microsoft.Toolkit.Uwp.SampleApp/Models/Sample.cs
Original file line number Diff line number Diff line change
Expand Up @@ -629,108 +629,30 @@ public async Task PreparePropertyDescriptorAsync()
private static Type LookForTypeByName(string typeName)
{
// First search locally
var result = System.Type.GetType(typeName);

if (result != null)
if (System.Type.GetType(typeName) is Type systemType)
{
return result;
return systemType;
}

// Search in Windows
var proxyType = VerticalAlignment.Center;
var assembly = proxyType.GetType().GetTypeInfo().Assembly;

foreach (var typeInfo in assembly.ExportedTypes)
var targets = new Type[]
{
if (typeInfo.Name == typeName)
{
return typeInfo;
}
}

// Search in Microsoft.Toolkit.Uwp.UI.Controls
var controlsProxyType = GridSplitter.GridResizeDirection.Auto;
assembly = controlsProxyType.GetType().GetTypeInfo().Assembly;

foreach (var typeInfo in assembly.ExportedTypes)
{
if (typeInfo.Name == typeName)
{
return typeInfo;
}
}

// TODO Reintroduce graph controls
//// Search in Microsoft.Toolkit.Graph.Controls
//var graphControlsProxyType = typeof(UserToPersonConverter);
//assembly = graphControlsProxyType.GetTypeInfo().Assembly;

//foreach (var typeInfo in assembly.ExportedTypes)
//{
// if (typeInfo.Name == typeName)
// {
// return typeInfo;
// }
//}

// Search in Microsoft.Toolkit.Uwp.UI.Animations
var animationsProxyType = EasingType.Default;
assembly = animationsProxyType.GetType().GetTypeInfo().Assembly;
foreach (var typeInfo in assembly.ExportedTypes)
{
if (typeInfo.Name == typeName)
{
return typeInfo;
}
}

// Search in Microsoft.Toolkit.Uwp.UI
var uiProxyType = ImageBlendMode.Multiply;
assembly = uiProxyType.GetType().GetTypeInfo().Assembly;
foreach (var typeInfo in assembly.ExportedTypes)
{
if (typeInfo.Name == typeName)
{
return typeInfo;
}
}

// Search in Microsoft.Toolkit.Uwp.Input.GazeInteraction
var gazeType = Interaction.Enabled;
assembly = gazeType.GetType().GetTypeInfo().Assembly;
foreach (var typeInfo in assembly.ExportedTypes)
{
if (typeInfo.Name == typeName)
{
return typeInfo;
}
}

// Search in Microsoft.Toolkit.Uwp.UI.Controls.DataGrid
var dataGridProxyType = DataGridGridLinesVisibility.None;
assembly = dataGridProxyType.GetType().GetTypeInfo().Assembly;

foreach (var typeInfo in assembly.ExportedTypes)
{
if (typeInfo.Name == typeName)
{
return typeInfo;
}
}

// Search in Microsoft.Toolkit.Uwp.UI.Controls.Markdown
var markdownTextBlockType = typeof(MarkdownTextBlock);
assembly = markdownTextBlockType.GetTypeInfo().Assembly;

foreach (var typeInfo in assembly.ExportedTypes)
{
if (typeInfo.Name == typeName)
{
return typeInfo;
}
}

return null;
VerticalAlignment.Center.GetType(), // Windows
StackMode.Replace.GetType(), // Microsoft.Toolkit.Uwp.UI.Controls.Core

// TODO Reintroduce graph controls
// typeof(UserToPersonConverter)) // Search in Microsoft.Toolkit.Graph.Controls
EasingType.Default.GetType(), // Microsoft.Toolkit.Uwp.UI.Animations
ImageBlendMode.Multiply.GetType(), // Search in Microsoft.Toolkit.Uwp.UI
Interaction.Enabled.GetType(), // Microsoft.Toolkit.Uwp.Input.GazeInteraction
DataGridGridLinesVisibility.None.GetType(), // Microsoft.Toolkit.Uwp.UI.Controls.DataGrid
GridSplitter.GridResizeDirection.Auto.GetType(), // Microsoft.Toolkit.Uwp.UI.Controls.Layout
typeof(MarkdownTextBlock), // Microsoft.Toolkit.Uwp.UI.Controls.Markdown
BitmapFileFormat.Bmp.GetType(), // Microsoft.Toolkit.Uwp.UI.Controls.Media
StretchChild.Last.GetType() // Microsoft.Toolkit.Uwp.UI.Controls.Primitivs
};

return targets.SelectMany(t => t.Assembly.ExportedTypes)
.FirstOrDefault(t => t.Name == typeName);
}

private static async Task<string> GetDocsSHA()
Expand Down