如何监听EditContext.NotifyFieldChanged事件?
How to listen to EditContext.NotifyFieldChanged event?
我有组件环绕 EditForm
与模型集。 EditForm
依次包含一些基于 InputBase
的组件。
更改 InbutBase
触发事件 EditContext.NotifyFieldChanged 但我未能发现此事件与 EditForm
之间的联系。我已经尝试在 EditForm
上收听“onChange”——没什么。
那么如何监听这个事件呢?
我想监听来自整个表单的单个事件,而不是监听来自表单内多个输入的多个事件。
我找到了方法——我让 class 管理模型 IDisposable
并添加了构造函数:
public Markers()
{
this.editContext = new EditContext(this);
this.editContext.OnFieldChanged += EditContextOnOnFieldChanged;
}
public void Dispose()
{
this.editContext.OnFieldChanged -= EditContextOnOnFieldChanged;
}
private void EditContextOnOnFieldChanged(object? sender, FieldChangedEventArgs e)
{
...
}
然后我没有为 EditForm
设置 Model
,而是设置了我刚刚创建的 EditContext
。
有点扭曲,因为我认为只在标记内做是可能的,但我会活下去:-)。
我有组件环绕 EditForm
与模型集。 EditForm
依次包含一些基于 InputBase
的组件。
更改 InbutBase
触发事件 EditContext.NotifyFieldChanged 但我未能发现此事件与 EditForm
之间的联系。我已经尝试在 EditForm
上收听“onChange”——没什么。
那么如何监听这个事件呢?
我想监听来自整个表单的单个事件,而不是监听来自表单内多个输入的多个事件。
我找到了方法——我让 class 管理模型 IDisposable
并添加了构造函数:
public Markers()
{
this.editContext = new EditContext(this);
this.editContext.OnFieldChanged += EditContextOnOnFieldChanged;
}
public void Dispose()
{
this.editContext.OnFieldChanged -= EditContextOnOnFieldChanged;
}
private void EditContextOnOnFieldChanged(object? sender, FieldChangedEventArgs e)
{
...
}
然后我没有为 EditForm
设置 Model
,而是设置了我刚刚创建的 EditContext
。
有点扭曲,因为我认为只在标记内做是可能的,但我会活下去:-)。