標題。這發生在我關閉應用程序的那一刻,以及在我的ViewModel的CloseAsync()
節嘗試保存附加模型的部分,該部分從SavableModelBase
繼承。Catel,爲什麼你將我的模型的屬性更新爲null?
我的視圖模型:
public ServerTabViewModel(Server server)
{
Argument.IsNotNull(() => server);
Server = server;
}
#region Properties
[Model]
public Server Server
{
get { return GetValue<Server>(ServerProperty); }
set { SetValue(ServerProperty, value); }
}
public static readonly PropertyData ServerProperty = RegisterProperty("Server", typeof(Server));
[ViewModelToModel("Server")]
public string ServerIpAddress
{
get { return GetValue<string>(ServerIpAddressProperty); }
set { SetValue(ServerIpAddressProperty, value); }
}
public static readonly PropertyData ServerIpAddressProperty = RegisterProperty("ServerIpAddress", typeof(string));
...
#endregion
protected override async Task CloseAsync()
{
var server = new Server
{
ServerIpAddress = ServerIpAddress, // ServerIpAddress is null now and model property (Server.ServerIpAddress) too.
...
};
SettingsService.SaveServer(server);
}
我的模型:
public class Server : SavableModelBase<Server>
{
public string ServerIpAddress
{
get { return GetValue<string>(ServerIpAddressProperty); }
set { SetValue(ServerIpAddressProperty, value); }
}
public static readonly PropertyData ServerIpAddressProperty = RegisterProperty("ServerIpAddress", typeof(string));
...
}
在情況下,如果我刪除我的視圖模型的ServerIpAddress
財產屬性[ViewModelToModel("Server")]
,值是可用的。它是可預測的 - 不再由於模型屬性。
如何在我關閉應用程序的時刻將模型的屬性設置爲null?爲什麼發生這種情況?
catel,Yü做到這一點? – Will
卡特爾,請不要再傷害我了! –