Linux版Avalonia UI中的DataGrid在应用程序运行时不会显示



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

dotnet add package Avalonia.Controls.DataGrid

dotnet restoredotnet run之后,我看不到任何DataGrid。无论如何xaml

<StackPanel>
<DataGrid AutoGenerateColumns="True" Items="{Binding People}"/>
</StackPanel>

和ViewModel看起来不错。

public ObservableCollection<Person> People { get; }
public MainWindowViewModel()
{
People = new ObservableCollection<Person>(GenerateMockPeopleTable());
}

我怎样才能发现哪里出了问题?

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

<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Default.xaml"/>

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

<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>

除了版本号,它显然会随着时间的推移而变化,我可以在上面的教程中确认一切都是完美的。

最新更新