NuGetでMicrosoft.Toolkit.Uwp.UI.Controls.DataGrid 4.0を無料でダウンロードできます。(2018/08/24現在)
xamlでxmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"を追加します。
c#のコードでは、using Microsoft.Toolkit.Uwp.UI.Controls;を追加します。
サンプルコードは下記を参照していただきたいのですが、割とListViewと似ている感じがします。
現在はコードを直接書きこんでDataGridを追加するのですが、インテリセンスが働きます。
また追加直後は波線が引かれたりしますが、ビルドすると間違いがなければきちんと認識されます。
気を付けてほしいのが、項目が横に長すぎる場合があるのであれば、horizontalscrollbarvisibility="Visible"を追加しておくといいです。
列の幅はユーザが変更することが可能です。
Chrome.xaml
<page x:class="BookmarkCheckerSample.Chrome"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:BookmarkCheckerSample"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
mc:ignorable="d" loaded="Page_Loaded">
<page.datacontext>
<local:chromeviewmodelview />
</page.datacontext>
<grid background="{ThemeResource ApplicationPageBackgroundThemeBrush}" margin="0,0,0,10" horizontalalignment="Stretch" verticalalignment="Stretch">
<button x:name="btnStart" x:uid="btnStart" content="チェック開始" horizontalalignment="Left" margin="10,10,0,0" verticalalignment="Top" click="btnStart_Click" />
<textblock x:name="lblProgress" horizontalalignment="Left" margin="145,16,0,0" text="textblock" textwrapping="Wrap" verticalalignment="Top" width="516" />
<button x:name="btnDuplication" x:uid="btnDuplication" content="重複解消" horizontalalignment="Left" margin="832,10,0,0" verticalalignment="Top" click="btnDuplication_Click" />
<button x:name="btnDelete" x:uid="btnDelete" content="リンク切れ削除" horizontalalignment="Left" margin="956,10,0,0" verticalalignment="Top" click="btnDelete_Click" />
<checkbox x:name="ckbCheckUpDirectory" content="上の階層も見る" horizontalalignment="Left" margin="252,51,0,0" verticalalignment="Top" />
<progressbar x:name="progressBar" maximum="100" minimum="0" value="0" height="49" margin="10,103,10,0" verticalalignment="Top" foreground="#FF2A72B5" valuechanged="progressBar_ValueChanged" />
<controls:datagrid x:name="dataGrid1" margin="10,160,10,30" autogeneratecolumns="False" itemssource="{Binding Path=BookmarkList}" verticalalignment="Stretch" horizontalscrollbarvisibility="Visible">
<controls:datagrid.columns>
<controls:datagridtemplatecolumn header="重複">
<controls:datagridtemplatecolumn.celltemplate>
<datatemplate>
<textblock text="{Binding Path=Duplication}" margin="5,0,5,0" />
</datatemplate>
</controls:datagridtemplatecolumn.celltemplate>
</controls:datagridtemplatecolumn>
<controls:datagridtemplatecolumn header="結果">
<controls:datagridtemplatecolumn.celltemplate>
<datatemplate>
<textblock text="{Binding Path=Result}" margin="5,0,5,0" />
</datatemplate>
</controls:datagridtemplatecolumn.celltemplate>
</controls:datagridtemplatecolumn>
<controls:datagridtemplatecolumn header="タイトル">
<controls:datagridtemplatecolumn.celltemplate>
<datatemplate>
<textblock text="{Binding Path=Title}" margin="5,0,5,0" />
</datatemplate>
</controls:datagridtemplatecolumn.celltemplate>
</controls:datagridtemplatecolumn>
<controls:datagridtemplatecolumn header="URL">
<controls:datagridtemplatecolumn.celltemplate>
<datatemplate>
<textblock margin="5,0,5,0">
<hyperlink navigateuri="{Binding Path=URL}"><run text="{Binding Path=URL}" /></hyperlink>
</textblock>
</datatemplate>
</controls:datagridtemplatecolumn.celltemplate>
</controls:datagridtemplatecolumn>
<controls:datagridtemplatecolumn header="リダイレクトURL">
<controls:datagridtemplatecolumn.celltemplate>
<datatemplate>
<textblock margin="5,0,5,0">
<hyperlink navigateuri="{Binding Path=RedirectURL}"><run text="{Binding Path=RedirectURL}" /></hyperlink>
</textblock>
</datatemplate>
</controls:datagridtemplatecolumn.celltemplate>
</controls:datagridtemplatecolumn>
<controls:datagridtemplatecolumn header="上の結果">
<controls:datagridtemplatecolumn.celltemplate>
<datatemplate>
<textblock text="{Binding Path=UpResult}" margin="5,0,5,0" />
</datatemplate>
</controls:datagridtemplatecolumn.celltemplate>
</controls:datagridtemplatecolumn>
<controls:datagridtemplatecolumn header="上のタイトル">
<controls:datagridtemplatecolumn.celltemplate>
<datatemplate>
<textblock text="{Binding Path=UpTitle}" margin="5,0,5,0" />
</datatemplate>
</controls:datagridtemplatecolumn.celltemplate>
</controls:datagridtemplatecolumn>
<controls:datagridtemplatecolumn header="上のURL">
<controls:datagridtemplatecolumn.celltemplate>
<datatemplate>
<textblock margin="5,0,5,0">
<hyperlink navigateuri="{Binding Path=UpURL}"><run text="{Binding Path=UpURL}" /></hyperlink>
</textblock>
</datatemplate>
</controls:datagridtemplatecolumn.celltemplate>
</controls:datagridtemplatecolumn>
</controls:datagrid.columns>
</controls:datagrid>
</grid>
</page>
