TabControl в авалонии не работает должным образомC#

Место общения программистов C#
Ответить
Anonymous
 TabControl в авалонии не работает должным образом

Сообщение Anonymous »

Ниже приведен код MainWindowViewModel.cs:
using System;
using System.Collections.ObjectModel;
using System.Linq;
using CommunityToolkit.Mvvm.ComponentModel;
using Neuroflow.Views;
using Neuroflow.Views.VisualizationViews;
using Avalonia.Controls;
using CommunityToolkit.Mvvm.Input;
using Neuroflow.Services;

namespace Neuroflow.ViewModels;

public partial class MainWindowViewModel : ViewModelBase
{
[ObservableProperty] private TabItem? _currentOpenedView;

[ObservableProperty] private ObservableCollection _openedViews;

public MainWindowViewModel()
{
OpenedViews = new ObservableCollection
{
new TabItem("Visualization", new Visualization()),
new TabItem("Linear Regression", new LinearRegression()),
new TabItem("Logistic Regression", new LogisticRegression())
};

}
}

public partial class TabItem : ViewModelBase
{
[ObservableProperty] private string _header;
[ObservableProperty] private UserControl _content;

public TabItem(string title, UserControl view)
{
Header = title;
Content = view ?? throw new ArgumentNullException(nameof(view));
}
}

MainWindow.axaml:





























Код правильно отображает заголовок, однако не отображает контент должным образом (работает нормально, когда я все жестко кодирую), поэтому проблема, похоже, возникает из-за кода шаблона. также попробовал следующее (тоже не работает)

Также попробовал следующее:

Замена CurrentOpenedView.Content на Content не работает (Intellisence заранее выдает красные линии)
Я получаю следующую ошибку:
0>MainWindow.axaml(68,37): Error AVLN2000 Avalonia: Unable to resolve property or method of name 'CurrentOpenedView' on type 'XamlX.TypeSystem.XamlPseudoType'. Line 68, position 37.

0>------- Finished building project: Neuroflow. Succeeded: False. Errors: 1. Warnings: 4


Подробнее здесь: https://stackoverflow.com/questions/790 ... s-expected
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»