Skip to content

Commit 323cfd7

Browse files
committed
Created a new Microsoft.Toolkit.Uwp.UI.Controls.Markdown package, moving the MarkdownTextBlock from the Controls package and decoupling the TextToolbar from the MarkDownFormatter.
1 parent 30452cf commit 323cfd7

File tree

65 files changed

+1157
-190
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+1157
-190
lines changed

Microsoft.Toolkit.Uwp.SampleApp/Microsoft.Toolkit.Uwp.SampleApp.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1541,6 +1541,10 @@
15411541
<Project>{cb444381-18ba-4a51-bb32-3a498bcc1e99}</Project>
15421542
<Name>Microsoft.Toolkit.Uwp.UI.Controls.Layout</Name>
15431543
</ProjectReference>
1544+
<ProjectReference Include="..\Microsoft.Toolkit.Uwp.UI.Controls.Markdown\Microsoft.Toolkit.Uwp.UI.Controls.Markdown.csproj">
1545+
<Project>{6fedf199-b052-49dd-8f3e-2a9224998e0f}</Project>
1546+
<Name>Microsoft.Toolkit.Uwp.UI.Controls.Markdown</Name>
1547+
</ProjectReference>
15441548
<ProjectReference Include="..\Microsoft.Toolkit.Uwp.UI.Controls\Microsoft.Toolkit.Uwp.UI.Controls.csproj">
15451549
<Project>{e9faabfb-d726-42c1-83c1-cb46a29fea81}</Project>
15461550
<Name>Microsoft.Toolkit.Uwp.UI.Controls</Name>

Microsoft.Toolkit.Uwp.SampleApp/Models/Sample.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -727,6 +727,18 @@ private static Type LookForTypeByName(string typeName)
727727
}
728728
}
729729

730+
// Search in Microsoft.Toolkit.Uwp.UI.Controls.Markdown
731+
var markdownTextBlockType = typeof(MarkdownTextBlock);
732+
assembly = markdownTextBlockType.GetTypeInfo().Assembly;
733+
734+
foreach (var typeInfo in assembly.ExportedTypes)
735+
{
736+
if (typeInfo.Name == typeName)
737+
{
738+
return typeInfo;
739+
}
740+
}
741+
730742
return null;
731743
}
732744

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/EnumValuesExtension/EnumValuesExtensionPage.xaml.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
// See the LICENSE file in the project root for more information.
44

55
using System;
6-
using Windows.UI;
6+
using Microsoft.Toolkit.Uwp.SampleApp.Enums;
77
using Microsoft.Toolkit.Uwp.UI.Extensions;
8+
using Windows.UI;
89
using Windows.UI.Xaml;
910
using Windows.UI.Xaml.Data;
10-
using Microsoft.Toolkit.Uwp.SampleApp.Enums;
1111

1212
namespace Microsoft.Toolkit.Uwp.SampleApp.SamplePages
1313
{

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/InAppNotification/InAppNotificationPage.xaml.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
// The .NET Foundation licenses this file to you under the MIT license.
33
// See the LICENSE file in the project root for more information.
44

5-
using Microsoft.Toolkit.Uwp.UI.Controls;
6-
using Microsoft.Toolkit.Uwp.UI.Extensions;
75
using System;
86
using System.Collections.Generic;
97
using System.Windows.Input;
8+
using Microsoft.Toolkit.Uwp.UI.Controls;
9+
using Microsoft.Toolkit.Uwp.UI.Extensions;
1010
using Windows.UI.Xaml;
1111
using Windows.UI.Xaml.Controls;
1212

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/MarkdownParser/MarkdownParserPage.xaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
x:Class="Microsoft.Toolkit.Uwp.SampleApp.SamplePages.MarkdownParserPage"
33
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
44
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5-
xmlns:local="using:Microsoft.Toolkit.Uwp.SampleApp.SamplePages.MarkdownParser"
65
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
76
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
87
mc:Ignorable="d">

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TextToolbar/SampleFormatter.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@ namespace Microsoft.Toolkit.Uwp.SampleApp.SamplePages.TextToolbarSamples
1111
{
1212
public class SampleFormatter : Formatter
1313
{
14-
public SampleFormatter(TextToolbar model)
15-
: base(model)
14+
public override void SetModel(TextToolbar model)
1615
{
16+
base.SetModel(model);
17+
1718
CommonButtons = new CommonButtons(model);
1819
}
1920

@@ -31,6 +32,6 @@ public override ButtonMap DefaultButtons
3132
}
3233
}
3334

34-
private CommonButtons CommonButtons { get; }
35+
private CommonButtons CommonButtons { get; set; }
3536
}
3637
}

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TextToolbar/TextToolbar.bind

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,17 @@
33
xmlns:common="using:Microsoft.Toolkit.Uwp.SampleApp.Common"
44
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
55
xmlns:converters="using:Microsoft.Toolkit.Uwp.UI.Converters"
6+
xmlns:markDown="using:Microsoft.Toolkit.Uwp.UI.Controls.TextToolbarFormats.MarkDown"
7+
xmlns:richText="using:Microsoft.Toolkit.Uwp.UI.Controls.TextToolbarFormats.RichText"
8+
xmlns:textToolbarSamples="using:Microsoft.Toolkit.Uwp.SampleApp.SamplePages.TextToolbarSamples"
69
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
710
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
811
xmlns:contract7Present="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract,7)"
912
mc:Ignorable="d">
1013

1114
<Page.Resources>
12-
<converters:ToolbarFormatActiveConverter x:Key="IsFormatMarkdown"
13-
Format="MarkDown" />
15+
<converters:ToolbarFormatterActiveConverter x:Key="IsMarkdownFormatter"
16+
FormatterType="Microsoft.Toolkit.Uwp.UI.Controls.TextToolbarFormats.MarkDown.MarkDownFormatter" />
1417
</Page.Resources>
1518

1619
<Grid x:Name="MainGrid"
@@ -22,9 +25,15 @@
2225
<controls:TextToolbar x:Name="Toolbar"
2326
Editor="{Binding ElementName=EditZone}"
2427
IsEnabled="@[IsEnabled:Bool:True]"
25-
Format="@[Format:Enum:Format.RichText]@"
2628
UseURIChecker="@[UseURIChecker:Bool:True]"
27-
Background="#4C4F4F4F" />
29+
Background="#4C4F4F4F">
30+
<controls:TextToolbar.Formatter>
31+
<!-- Choose one -->
32+
<richText:RichTextFormatter />
33+
<!--<markDown:MarkDownFormatter />-->
34+
<!--<textToolbarSamples:SampleFormatter />-->
35+
</controls:TextToolbar.Formatter>
36+
</controls:TextToolbar>
2837

2938
<ScrollViewer Grid.Row="1">
3039
<Grid>
@@ -46,7 +55,7 @@
4655
<Grid x:Name="MD"
4756
Grid.Row="1"
4857
Margin="0, 16"
49-
Visibility="{Binding Format, ElementName=Toolbar, Mode=OneWay, Converter={StaticResource IsFormatMarkdown}}">
58+
Visibility="{Binding Formatter, ElementName=Toolbar, Mode=OneWay, Converter={StaticResource IsMarkdownFormatter}}">
5059
<Grid.RowDefinitions>
5160
<RowDefinition Height="Auto" />
5261
<RowDefinition />

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TextToolbar/TextToolbarCode.bind

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ private void EditZone_TextChanged(object sender, Windows.UI.Xaml.RoutedEventArgs
1818

1919
private void UseCustomFormatter()
2020
{
21-
var formatter = new SampleFormatter(Toolbar);
22-
Toolbar.Format = UI.Controls.TextToolbarFormats.Format.Custom;
21+
var formatter = new SampleFormatter();
2322
Toolbar.Formatter = formatter;
2423
}
2524

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TextToolbar/TextToolbarPage.xaml

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,34 @@
33
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
44
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
55
xmlns:converters="using:Microsoft.Toolkit.Uwp.UI.Converters"
6+
xmlns:markDown="using:Microsoft.Toolkit.Uwp.UI.Controls.TextToolbarFormats.MarkDown"
7+
xmlns:richText="using:Microsoft.Toolkit.Uwp.UI.Controls.TextToolbarFormats.RichText"
8+
xmlns:textToolbarSamples="using:Microsoft.Toolkit.Uwp.SampleApp.SamplePages.TextToolbarSamples"
69
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
710
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
811
mc:Ignorable="d">
912

1013
<Page.Resources>
11-
<converters:ToolbarFormatActiveConverter x:Key="IsFormatMarkdown"
12-
Format="MarkDown" />
14+
<converters:ToolbarFormatterActiveConverter x:Key="IsMarkdownFormatter"
15+
FormatterType="Microsoft.Toolkit.Uwp.UI.Controls.TextToolbarFormats.MarkDown.MarkDownFormatter" />
1316
</Page.Resources>
1417

1518
<Grid>
16-
<controls:TextToolbar />
19+
<controls:TextToolbar>
20+
<controls:TextToolbar.Formatter>
21+
<richText:RichTextFormatter />
22+
</controls:TextToolbar.Formatter>
23+
</controls:TextToolbar>
24+
<controls:TextToolbar>
25+
<controls:TextToolbar.Formatter>
26+
<markDown:MarkDownFormatter />
27+
</controls:TextToolbar.Formatter>
28+
</controls:TextToolbar>
29+
<controls:TextToolbar>
30+
<controls:TextToolbar.Formatter>
31+
<textToolbarSamples:SampleFormatter />
32+
</controls:TextToolbar.Formatter>
33+
</controls:TextToolbar>
1734
<RichEditBox />
1835
<controls:MarkdownTextBlock />
1936
</Grid>

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/TextToolbar/TextToolbarPage.xaml.cs

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,9 @@
33
// See the LICENSE file in the project root for more information.
44

55
using System;
6-
using System.Collections.Generic;
7-
using System.Threading.Tasks;
8-
using Microsoft.Toolkit.Uwp.SampleApp.Models;
96
using Microsoft.Toolkit.Uwp.SampleApp.SamplePages.TextToolbarSamples;
107
using Microsoft.Toolkit.Uwp.UI.Controls;
118
using Microsoft.Toolkit.Uwp.UI.Controls.TextToolbarButtons;
12-
using Microsoft.Toolkit.Uwp.UI.Controls.TextToolbarFormats;
139
using Microsoft.Toolkit.Uwp.UI.Controls.TextToolbarFormats.MarkDown;
1410
using Microsoft.Toolkit.Uwp.UI.Extensions;
1511
using Windows.System;
@@ -43,11 +39,6 @@ public void OnXamlRendered(FrameworkElement control)
4339
_previewer = previewer;
4440
_previewer.LinkClicked += Previewer_LinkClicked;
4541
}
46-
47-
if (ToolbarFormat != null && (Format)ToolbarFormat.Value == Format.Custom)
48-
{
49-
UseCustomFormatter();
50-
}
5142
}
5243

5344
private void Load()
@@ -99,13 +90,12 @@ private void ResetLayout()
9990

10091
private void UseCustomFormatter()
10192
{
102-
if (_toolbar == null || ToolbarFormat == null)
93+
if (_toolbar == null)
10394
{
10495
return;
10596
}
10697

107-
var formatter = new SampleFormatter(_toolbar);
108-
ToolbarFormat.Value = Format.Custom;
98+
var formatter = new SampleFormatter();
10999
_toolbar.Formatter = formatter;
110100
}
111101

@@ -179,21 +169,5 @@ private void EditZone_TextChanged(object sender, RoutedEventArgs e)
179169
}
180170

181171
private int DemoCounter { get; set; } = 0;
182-
183-
private ValueHolder ToolbarFormat
184-
{
185-
get
186-
{
187-
if (DataContext is Sample sample)
188-
{
189-
if (sample.PropertyDescriptor.Expando is IDictionary<string, object> properties && properties.TryGetValue("Format", out var format))
190-
{
191-
return format as ValueHolder;
192-
}
193-
}
194-
195-
return null;
196-
}
197-
}
198172
}
199173
}

0 commit comments

Comments
 (0)