我将立即根据构造函数中的DetailPage将值设置为true或false。
值(代码隐藏):
bool _mtde = false;
public bool mTDE
{
get => _mtde;
set
{
_mtde = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(mTDE)));
}
}
两个DetailPages的构造函数:
public mTDE ()
{
InitializeComponent ();
AddTankerfassungViewModel.tankerfassung.mTDE = true;
}
和:
public TDE ()
{
InitializeComponent ();
AddTankerfassungViewModel.tankerfassung.mTDE = false;
}
当
mTDE
为true
时,电子邮件中还会包含其他信息(代码隐藏)。public void SendData()
{
var mTDEText = "";
if (mTDE)
{
mTDEText = "processed manually ";
}
.
.
.
}
我调试了断点,搜索了所有引用:什么都没有。我不知道为什么这个变量停留在
false
上。当我单击MasterDetailPage上的mTDE ContentPage时,会遇到断点。 最佳答案
您可能应该做的是可以调用的类似状态更改器的方法
public static bool InvertStates(bool boolThatYouWantToInvert){
return !boolThatYouWantToInvert;
}
然后你可以像这样使用它
AddTankerfassungViewModel.tankerfassung.mTDE = InvertStates(AddTankerfassungViewModel.tankerfassung.mTDE)
请注意,AddTankerfassungViewModel.tankerfassung.mTDE在声明时应初始化,并注意要在第一个DetailPage上传递的初始值。