应用程序运行时,Avalonia UI for Linux 中的 DataGrid 不显示

1 c# xaml .net-core avaloniaui

我在 .NET Core for Linux (Fedora) 上运行 Avalonia UI。我已经按照DataGrid 的本教程进行操作,但老实说,我使用以下命令添加了包,而不是手动更新.csproj.

dotnet add package Avalonia.Controls.DataGrid
Run Code Online (Sandbox Code Playgroud)

在 adotnet restore和 a之后dotnet run,我看不到任何 DataGrid。无论如何xaml

<StackPanel>
    <DataGrid AutoGenerateColumns="True" Items="{Binding People}"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

和 ViewModel 看起来不错。

    public ObservableCollection<Person> People { get; }

    public MainWindowViewModel()
    {
        People = new ObservableCollection<Person>(GenerateMockPeopleTable());
    }
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到问题所在?

小智 5

DataGrid我忘记在 App.xaml 中应用样式(因为我习惯了 Windows 中的 WPF,其中它DataGrid是标准控件):

    <StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Default.xaml"/>
Run Code Online (Sandbox Code Playgroud)

教程清楚地说明了这一步,所以最后我只改变了在项目中添加包的方式,只是为了获取最新版本的包引用

  <ItemGroup>
    <PackageReference Include="Avalonia" Version="0.9.9" />
    <PackageReference Include="Avalonia.Controls.DataGrid" Version="0.9.9" />
    <PackageReference Include="Avalonia.Desktop" Version="0.9.9" />
    <PackageReference Include="Avalonia.ReactiveUI" Version="0.9.9" />
  </ItemGroup>
Run Code Online (Sandbox Code Playgroud)

除了版本号随时间明显变化之外,我可以确认上述教程中的一切都是完美的。