Я объявил базовый класс диалогового окна, который вводит текст данных, чтобы убедиться, что у прикрепленной модели представления есть соответствующий тип возвращаемого значения. Когда я пытаюсь его использовать, я получаю общую ошибку аргументов:
GenericArguments [1], 'Mocks.MidSoft_Hospitality_ViewModels_Dialogs_ReceiveItemViewModel_32_569724246', на 'Mocks.MidSoft_oftDight_tube_56_target_setup_setup_setup_setup_setup_setup_setup_1_2_64_1_5_1_64_2_1_5_2_64_1_5_1_0_1_0_1_2_2_1типа 'TViewModel'.
Я не понимаю, почему это происходит
Объявление базового диалогового окна:
public class BaseDialogWindow<TResult, TViewModel> : DialogWindowBase<TResult> where TViewModel: ViewModels.Dialogs.DialogBaseViewModel<TResult>
{
public BaseDialogWindow() : base()
{
}
new public TViewModel DataContext
{
get => this.GetValue(DataContextProperty) as TViewModel;
set => this.SetValue(DataContextProperty, value);
}
}
DialogWindowBase:
public class DialogWindowBase<TResult> : Window, IDialog<TResult>
{
public DialogWindowBase()
{
//Formatting code here
}
public Result Result { get; set; } = Result.None;
public TResult ReturnData { get; set; }
}
Модель представления:
public class ReceiveItemViewModel : ViewModels.Dialogs.DialogBaseViewModel<ReceiveItemResult>
{
//View Model Code here
}
и xaml:
<local:BaseDialogWindow x:Class="MidSoft.Hospitality.Views.Dialogs.ReceiveItemDialog"
x:TypeArguments="local:ReceiveItemResult, vm:ReceiveItemViewModel"
xmlns:vm="clr-namespace:MidSoft.Hospitality.ViewModels.Dialogs"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:MidSoft.Hospitality.Views.Dialogs"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance vm:ReceiveItemViewModel, IsDesignTimeCreatable=False}"
x:Name="ReceiveStockItemDialog"
Height="450" Width="800">
<Grid>
</Grid>
</local:BaseDialogWindow>
Код для диалогового окна:
public partial class ReceiveItemDialog
{
public ReceiveItemDialog()
{
InitializeComponent();
}
}
Ошибка, которую яссылка выше - единственная ошибка компилятора, которую я получаю. Буду признателен за понимание этой ошибки.
Обновление: я заметил, что приложение компилируется и работает без каких-либо исключений, но ошибка все еще существует, и дизайнер xaml показывает ее как недопустимую разметку