我有两种观点,一种是平板电脑,一种是手机。它们既具有Entry字段,又具有相同的功能,唯一的区别是布局。
我想删除代码重复,并且由于两个Entry字段在OnTextChanged内部具有相同的逻辑,所以我想将其移至这两个Entry事件都可以调用的另一种方法。
如何使两个Entry OnTextChanged事件调用相同的集中方法?
在Xamarin表单中执行此操作的最佳方法是什么?
答案 0 :(得分:1)
如 @SLaks 所述,听起来您最好的方法是使用MVVM。在线上有很多关于MVVM的信息。
将一种方法实现为两个事件的超级简单方法如下:
// Handler for the first Entry
private void Entry1_TextChanged(object s, TextChangedEventArgs e)
{
HandleTheTextChanged(e.NewText);
}
// Handler for the second Entry
private void Entry2_TextChanged(object s, TextChangedEventArgs e)
{
HandleTheTextChanged(e.NewText);
}
// Common code
private void HandleTheTextChanged(string newText)
{
// Do your stuff
}