這次我必須遷移 MVVMLight 并將其替換為 Microsoft.Toolkit.MVVM。
在檔案 中,沒有直接替換 IsInDesignMode、更改或洗掉它。
我不知道任何改變它的選項,有人可以幫助我嗎?
public MainViewModel()
{
//To Migrate GalaSoft there's no direct replacement for IsInDesignMode, remove
//if (IsInDesignMode)
//{
// // Code runs in Blend --> create design time data.
//}
//else
//{
// Code runs "for real"
this.app = (App)Application.Current;
//}
}
uj5u.com熱心網友回復:
總體思路如下,例如 WPF:
internal class View : Window
{
public View()
{
Model.IsInDesignMode = () => DesignerProperties.GetIsInDesignMode(this);
}
private Model Model => DataContext as Model ?? throw new InvalidOperationException();
}
internal class Model
{
public Func<bool> IsInDesignMode { get; set; }
public Model()
{
if (IsInDesignMode is null)
throw new InvalidOperationException();
if (IsInDesignMode())
{
int i;
}
else
{
int i;
}
}
}
您可以以不同的方式注入它,例如查詢平臺提供的服務,我想您明白了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/449942.html
上一篇:現有庫擴展的C#命名空間命名約定
