DataGrid в пользовательском интерфейсе Avalonia для Linux не отображается при запуске приложения - PullRequest
0 голосов
/ 25 апреля 2020

Я использую пользовательский интерфейс Avalonia. NET Ядро для Linux (Fedora). Я следовал этому руководству для DataGrid, но, честно говоря, я добавил пакет следующей командой вместо того, чтобы вручную обновлять .csproj.

dotnet add package Avalonia.Controls.DataGrid

после dotnet restore и dotnet run, я не вижу никакой DataGrid. В любом случае xaml

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

и ViewModel выглядят нормально.

    public ObservableCollection<Person> People { get; }

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

Как я могу найти то, что идет не так?

1 Ответ

0 голосов
/ 25 апреля 2020

Я забыл применить стиль DataGrid в App.xaml (потому что я привык к WPF в Windows, где 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>

Помимо этого номер версии, который со временем меняется, я могу подтвердить, что в вышеприведенном уроке все идеально.

...