【问题标题】:Xamarin Forms MVVM Pattern best place to put repeated UI CodeXamarin Forms MVVM Pattern 放置重复 UI 代码的最佳位置
【发布时间】:2019-02-24 09:07:58
【问题描述】:

我们有一个使用 MVVM 模式的 xamarin 表单应用程序。我们重复了 UI 逻辑,每当在应用程序中加载任何 contentView 时都会运行该逻辑,只是想知道最好的位置在哪里。目前在我们的遗留应用程序中,它被编写在每个控件中,这非常令人沮丧,因为如果它需要修复,那么它需要在每个单独的位置进行修复。这种代码的最佳方法是什么。

我的意思的一个例子是,在初始化每个 contentView 时,它会通过当前用户的安全权限运行,并根据允许用户查看的内容隐藏或显示该 ContentView 上的 UI 控件。这发生在系统中的每个表单上。这是一个简单的例子,但有很多。

有什么想法吗?

【问题讨论】:

  • 在 App.xaml 中使用 ControlTemplate 并在那里添加可重用代码并在需要的地方使用它。
  • 对于 C# 代码,您可以为其添加一个静态帮助器类

标签: xamarin mvvm xamarin.forms


【解决方案1】:

为什么不把它放在父类中呢?从 ContentView 派生,然后让您的所有相关控件都从中派生。您也可以对页面执行此操作。我最新的 Xamarin Forms 应用程序中的所有页面都来源于此:

    public abstract class BaseContentPage<T> : ContentPage, IViewFor<T> where T : class, IViewModel

【讨论】:

    猜你喜欢
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多