Xamarin-如何在我的应用程序中显示通知?(ContentPage.ToolbarItems)

拉姆齐·卡希尔

我有一个Xamarin Forms应用程序,其中使用了Master-Detail模板和MVVM。它非常适合我的需求。关键是,我偶尔会在显示的视图的顶部栏中以类似通知的方式显示某种信息。有时这将是一条错误消息,例如“服务器无法访问”或“不允许操作”。

事实是,将某些内容放入该栏中的唯一方法似乎是通过ContentPage.ToolbarItems,它没有DataBinding或通过ViewModel访问的任何方式。

我想出的一种可能的解决方案是将视图作为参数传递给ViewModel,然后从中进行诸如此类的操作view.ToolbarItems.Add(new ToolbarItem("abc", null, () => { }));但这在相当基本的水平上打破了MVVM,因为ViewModel引用了View。可以使用界面来屏蔽视图,但是我根本不喜欢这种解决方案。

因此,我可以使用DataBinding在Xamarin Master-Detail应用程序的顶部栏中动态添加和删除按钮吗?

朱利奥·罗德里格斯·卡巴尼亚斯

正如您已经提到的,在视图模型中引用视图绝不是一个好主意,因为它破坏了MVVM模式。在像您这样的情况下,当绑定不可用时,明智/可接受的方法是从视图中订阅视图模型,以便在视图模型发生更改时对其进行更新。

在您的视图中添加以下内容:

ViewModel.PropertyChanged += OnViewModelPropertyChanged; 

...

private void OnViewModelPropertyChanged(object sender, PropertyChangedEventArgs e)
{
    switch (e.PropertyName)
    {
        case nameof(ViewModel.YourProperty):
            // Apply changes to the view here, for example:
            ToolbarItems.Add(new ToolbarItem(ViewModel.YourProperty, null, () => { }));
            break;
    }
}

我希望这有帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Xamarin ToolBarItems 导航规则

来自分类Dev

如何使用Xamarin.Forms中的ToolBarItems使用本机平台图标(以编程方式)?

来自分类Dev

如何在Xamarin Forms中启动应用程序期间显示进度

来自分类Dev

如何在Xamarin Forms中启动应用程序期间显示进度

来自分类Dev

如何在 xamarin 中创建不会冻结我的应用程序的 TCP 服务器

来自分类Dev

如何在xamarin android应用程序中创建该应用程序设置,以在该应用程序的Android设置/应用程序/应用程序设置中显示?

来自分类Dev

在 Xamarin iOS 上的前台应用程序时,如何不显示 Firebase 通知?

来自分类Dev

如何在 xamarin ios 应用程序中打开邮件应用程序窗口?

来自分类Dev

Xamarin Forms - 从不是从 ContentPage 继承的类中查找应用程序的当前页面

来自分类Dev

将UIButtonTypeDetailDisclosure添加到导致运行时错误的toolbarItems中

来自分类Dev

如何在Xamarin iOS中使用URL方案从我的应用程序中打开另一个应用程序

来自分类Dev

如何在Xamarin iOS中使用URL方案从我的应用程序中打开另一个应用程序

来自分类Dev

Xamarin Forms - Android Splashscreen 也显示在主应用程序中

来自分类Dev

在 Xamarin Forms 应用程序中显示操作菜单

来自分类Dev

Xamarin Android添加按钮全部大写-如何在整个应用程序中应用样式?

来自分类Dev

如何在我的Xamarin Android应用程序中使用SharpNLP

来自分类Dev

如何在Xamarin Android应用程序中使用动画?

来自分类Dev

如何在 Xamarin 应用程序的后台调用异步方法

来自分类Dev

如何使图像显示在Xamarin.Forms应用程序的UWP版本中

来自分类Dev

当用户关闭应用程序时,如何在Xamarin iOS上处理用户单击本地通知?

来自分类Dev

Xamarin.Forms Android应用程序中未显示应用程序图标

来自分类Dev

如何在 Xamarin 中自定义 ContentPage 标题?

来自分类Dev

如何在Xamarin跨平台应用程序中创建具有sqlite支持的PCL

来自分类Dev

如何在Xamarin.iOS自己的应用程序中捕获控制台日志输出?

来自分类Dev

如何在Xamarin.Forms PCL Android移动应用程序中修复缺少的方法异常

来自分类Dev

如何在Xamarin.Forms中存储应用程序设置

来自分类Dev

如何在Xamarin.Mac应用程序中查找到非公共框架的链接

来自分类Dev

如何在Xamarin.UWP应用程序中实现LongPress?

来自分类Dev

如何在Xamarin Forms应用程序中设置列出目录的权限

Related 相关文章

  1. 1

    Xamarin ToolBarItems 导航规则

  2. 2

    如何使用Xamarin.Forms中的ToolBarItems使用本机平台图标(以编程方式)?

  3. 3

    如何在Xamarin Forms中启动应用程序期间显示进度

  4. 4

    如何在Xamarin Forms中启动应用程序期间显示进度

  5. 5

    如何在 xamarin 中创建不会冻结我的应用程序的 TCP 服务器

  6. 6

    如何在xamarin android应用程序中创建该应用程序设置,以在该应用程序的Android设置/应用程序/应用程序设置中显示?

  7. 7

    在 Xamarin iOS 上的前台应用程序时,如何不显示 Firebase 通知?

  8. 8

    如何在 xamarin ios 应用程序中打开邮件应用程序窗口?

  9. 9

    Xamarin Forms - 从不是从 ContentPage 继承的类中查找应用程序的当前页面

  10. 10

    将UIButtonTypeDetailDisclosure添加到导致运行时错误的toolbarItems中

  11. 11

    如何在Xamarin iOS中使用URL方案从我的应用程序中打开另一个应用程序

  12. 12

    如何在Xamarin iOS中使用URL方案从我的应用程序中打开另一个应用程序

  13. 13

    Xamarin Forms - Android Splashscreen 也显示在主应用程序中

  14. 14

    在 Xamarin Forms 应用程序中显示操作菜单

  15. 15

    Xamarin Android添加按钮全部大写-如何在整个应用程序中应用样式?

  16. 16

    如何在我的Xamarin Android应用程序中使用SharpNLP

  17. 17

    如何在Xamarin Android应用程序中使用动画?

  18. 18

    如何在 Xamarin 应用程序的后台调用异步方法

  19. 19

    如何使图像显示在Xamarin.Forms应用程序的UWP版本中

  20. 20

    当用户关闭应用程序时,如何在Xamarin iOS上处理用户单击本地通知?

  21. 21

    Xamarin.Forms Android应用程序中未显示应用程序图标

  22. 22

    如何在 Xamarin 中自定义 ContentPage 标题?

  23. 23

    如何在Xamarin跨平台应用程序中创建具有sqlite支持的PCL

  24. 24

    如何在Xamarin.iOS自己的应用程序中捕获控制台日志输出?

  25. 25

    如何在Xamarin.Forms PCL Android移动应用程序中修复缺少的方法异常

  26. 26

    如何在Xamarin.Forms中存储应用程序设置

  27. 27

    如何在Xamarin.Mac应用程序中查找到非公共框架的链接

  28. 28

    如何在Xamarin.UWP应用程序中实现LongPress?

  29. 29

    如何在Xamarin Forms应用程序中设置列出目录的权限

热门标签

归档