xamarin.forms-如何让两个视图的事件处理程序调用相同的代码

时间:2018-11-18 16:26:15

标签: c# xamarin xamarin.forms

我有两种观点,一种是平板电脑,一种是手机。它们既具有Entry字段,又具有相同的功能,唯一的区别是布局。

我想删除代码重复,并且由于两个Entry字段在OnTextChanged内部具有相同的逻辑,所以我想将其移至这两个Entry事件都可以调用的另一种方法。

如何使两个Entry OnTextChanged事件调用相同的集中方法?

在Xamarin表单中执行此操作的最佳方法是什么?

1 个答案:

答案 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
}