来自 Prism.AppModel 的 IAutoInitialize 界面问题导致我的弹出窗口没有文本
Problem with IAutoInitialize Interface from Prism.AppModel causing my popups to have no text
我确实在我的项目中使用了 Prism.Forms nuget 包。
Package Version
今天更新包出现如下错误:
Error CS0246 The type or namespace name 'IAutoInitialize' could not be
found (are you missing a using directive or an assembly reference?)
然后我尝试 运行 从我的视图模型中删除 IAutoInitialize 继承后的应用程序,发现我的自定义弹出窗口不再显示文本。 (我检查了我的 ShowDialog() 调用,是的,我正在将文本传递给对话框页面构造函数)
下面是我的视图模型代码,其中出现了 IAutoInitialize 问题:
public class CustomPopupViewModel : BindableBase, IDialogAware, IAutoInitialize
{
public event Action<IDialogParameters> RequestClose;
public DelegateCommand CancelCommand { get; set; }
public DelegateCommand ConfirmCommand { get; set; }
private string _Title;
public string Title
{
get { return _Title; }
set { SetProperty(ref _Title, value); }
}
private string _Message;
public string Message
{
get { return _Message; }
set { SetProperty(ref _Message, value); }
}
private string _CancelMsg;
public string CancelMsg
{
get { return _CancelMsg; }
set { SetProperty(ref _CancelMsg, value); }
}
private string _ConfirmMsg;
public string ConfirmMsg
{
get { return _ConfirmMsg; }
set { SetProperty(ref _ConfirmMsg, value); }
}
public CustomPopupViewModel()
{
CancelCommand = new DelegateCommand(CancelTapped);
ConfirmCommand = new DelegateCommand(ConfirmTapped);
}
private void ConfirmTapped()
{
RequestClose(new DialogParameters { { typeof(bool).Name, true } });
}
private void CancelTapped()
{
RequestClose(new DialogParameters { { typeof(bool).Name, false } });
}
public bool CanCloseDialog() => true;
public void OnDialogClosed() { }
public void OnDialogOpened(IDialogParameters parameters) { }
}
我认为删除 IAutoInitialize 界面是我的弹出窗口中没有显示文本的原因。
我的问题是,在 8.0.0.1909 版本更新后,IAutoInitialize 位于何处或如何解决此问题。
根据发行说明 here,自 8.0.0.1909 版(2020 年 10 月 21 日)起删除了 IAutoInitialize:
“删除了 IAutoInitialize - 建议在 Sponsor Connect 上使用 Prism.Magician 进行迁移”
我确实在我的项目中使用了 Prism.Forms nuget 包。 Package Version
今天更新包出现如下错误:
Error CS0246 The type or namespace name 'IAutoInitialize' could not be found (are you missing a using directive or an assembly reference?)
然后我尝试 运行 从我的视图模型中删除 IAutoInitialize 继承后的应用程序,发现我的自定义弹出窗口不再显示文本。 (我检查了我的 ShowDialog() 调用,是的,我正在将文本传递给对话框页面构造函数)
下面是我的视图模型代码,其中出现了 IAutoInitialize 问题:
public class CustomPopupViewModel : BindableBase, IDialogAware, IAutoInitialize
{
public event Action<IDialogParameters> RequestClose;
public DelegateCommand CancelCommand { get; set; }
public DelegateCommand ConfirmCommand { get; set; }
private string _Title;
public string Title
{
get { return _Title; }
set { SetProperty(ref _Title, value); }
}
private string _Message;
public string Message
{
get { return _Message; }
set { SetProperty(ref _Message, value); }
}
private string _CancelMsg;
public string CancelMsg
{
get { return _CancelMsg; }
set { SetProperty(ref _CancelMsg, value); }
}
private string _ConfirmMsg;
public string ConfirmMsg
{
get { return _ConfirmMsg; }
set { SetProperty(ref _ConfirmMsg, value); }
}
public CustomPopupViewModel()
{
CancelCommand = new DelegateCommand(CancelTapped);
ConfirmCommand = new DelegateCommand(ConfirmTapped);
}
private void ConfirmTapped()
{
RequestClose(new DialogParameters { { typeof(bool).Name, true } });
}
private void CancelTapped()
{
RequestClose(new DialogParameters { { typeof(bool).Name, false } });
}
public bool CanCloseDialog() => true;
public void OnDialogClosed() { }
public void OnDialogOpened(IDialogParameters parameters) { }
}
我认为删除 IAutoInitialize 界面是我的弹出窗口中没有显示文本的原因。 我的问题是,在 8.0.0.1909 版本更新后,IAutoInitialize 位于何处或如何解决此问题。
根据发行说明 here,自 8.0.0.1909 版(2020 年 10 月 21 日)起删除了 IAutoInitialize:
“删除了 IAutoInitialize - 建议在 Sponsor Connect 上使用 Prism.Magician 进行迁移”