亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

UWP Community Toolkit DataGrid 不顯示數據

UWP Community Toolkit DataGrid 不顯示數據

C#
ibeautiful 2023-05-13 16:05:05
我正在嘗試使用來自 ObservableCollection 的數據在 UWP(來自社區工具包包)中加載 DataGrid。顯示了從中讀取數據的 CSV 文件的標題,但由于某種原因,沒有顯示任何數據行。我已經通讀并嘗試了至少 5 或 6 個關于 SO 的問題,所以雖然我知道之前有人問過這個問題,但這些答案似乎沒有用。在這一點上,我對自己做錯了什么感到茫然。我知道我的代碼中有一些錯誤(很明顯,否則它會起作用),但我似乎無法找到它。有人可以看看下面的代碼,看看他們是否能發現任何錯誤嗎?注意:我知道數據正在被正確讀取,因為 a) 標頭顯示出來,并且 b) 我遇到了斷點并查看了 SpellBook 中的數據,它包含 408 個項目。在此先感謝任何可以提供幫助的人!
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

根據您的要求,我簡化了綁定步驟。請檢查以下代碼。


Xaml代碼


<controls:DataGrid

    x:Name="MyDataGrid"

    HorizontalAlignment="Stretch"

    VerticalAlignment="Stretch"

    AlternatingRowBackground="Transparent"

    AlternatingRowForeground="Gray"

    AreRowDetailsFrozen="False"

    AreRowGroupHeadersFrozen="True"

    AutoGenerateColumns="False"

    CanUserReorderColumns="True"

    CanUserResizeColumns="True"

    CanUserSortColumns="False"

    ColumnHeaderHeight="32"

    FrozenColumnCount="0"

    GridLinesVisibility="None"

    HeadersVisibility="Column"

    HorizontalScrollBarVisibility="Visible"

    IsReadOnly="False"

    Loaded="DataGrid_Loaded"

    MaxColumnWidth="400"

    RowDetailsVisibilityMode="Collapsed"

    RowGroupHeaderPropertyNameAlternative="Range"

    SelectionMode="Extended"

    VerticalScrollBarVisibility="Visible"

    >

    <controls:DataGrid.RowGroupHeaderStyles>

        <Style TargetType="controls:DataGridRowGroupHeader">

            <Setter Property="Background" Value="LightGray" />

        </Style>

    </controls:DataGrid.RowGroupHeaderStyles>


    <controls:DataGrid.Columns>

        <controls:DataGridTextColumn

            Binding="{Binding Id}"

            Header="Id"

            Tag="Id"

            />

        <controls:DataGridTextColumn

            Binding="{Binding Title}"

            Header="Title"

            Tag="Title"

            />

        <controls:DataGridComboBoxColumn

            Binding="{Binding Link}"

            Header="Link"

            Tag="Link"

            />

        <controls:DataGridTextColumn

            Binding="{Binding Type}"

            Header="Type"

            Tag="Type"

            />

        <controls:DataGridTextColumn

            Binding="{Binding Remark}"

            Header="Remark"

            Tag="Remark"

            />

        <controls:DataGridTextColumn

            Binding="{Binding Time}"

            Header="Time"

            Tag="Time"

            />

    </controls:DataGrid.Columns>

</controls:DataGrid>

模型類


public class Item

{

    public string Id { get; set; }

    public string Title { get; set; }

    public string Link { get; set; }

    public string Type { get; set; }

    public string Remark { get; set; }

    public string Time { get; set; }

}

數據處理


private ObservableCollection<Item> Items;

private void DataGrid_Loaded(object sender, RoutedEventArgs e)

{

    using (var reader = new StreamReader("Assets\\Archive.csv",true))

    using (var csv = new CsvReader(reader))

    {

        var records = csv.GetRecords<Item>();

        Items = new ObservableCollection<Item>(records);           

    }


    MyDataGrid.ItemsSource = Items;           

}


查看完整回答
反對 回復 2023-05-13
  • 1 回答
  • 0 關注
  • 133 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號