У меня есть пользовательский элемент управления, выглядящим следующим образом: < /p>
using Avalonia;
using Avalonia.Controls;
using Client.Attributes;
using Client.ViewModels;
namespace Client.Controls;
[ViewModel(typeof(MailBoxItemControlViewModel))]
public partial class MailBoxItemControl : UserControl
{
// Declare a styled property for Account.
public static readonly StyledProperty AccountProperty =
AvaloniaProperty.Register(nameof(Account));
public MailBoxItemControlViewModel ViewModel { get; } = new ();
public string Account
{
get => GetValue(AccountProperty);
set
{
SetValue(AccountProperty, value);
ViewModel.Account = value;
}
}
public MailBoxItemControl()
{
InitializeComponent();
}
}
< /code>
xaml: < /p>
< /code>
При вызове управления как < /code> он работает как задумано.System.InvalidCastException: Unable to cast object of type 'Client.ViewModels.MailBoxItemControlViewModel' to type 'Client.ViewModels.MailBoxControlViewModel'.
at CompiledAvaloniaXaml.XamlIlHelpers.Client.ViewModels.MailBoxControlViewModel,Client.SomeAccount!Getter(Object)
at Avalonia.Data.Core.ClrPropertyInfo.Get(Object target)
at Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings.InpcPropertyAccessor.get_Value()
at Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings.InpcPropertyAccessor.SendCurrentValue()
< /code>
Не работающий код использования: < /p>
Подробнее здесь: https://stackoverflow.com/questions/796 ... ow-excepti