朧の.Netの足跡
問合せ先:support@oborodukiyo.info サイト内検索はこちら 
UWP ToolkitのDataGrid





DataGridのサンプル画像

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>

        









良いやや良い普通やや悪い悪い

投稿日時評価コメント