问题标签 [xamarin-community-toolkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
30 浏览

c# - 如何在 Xamarin 表单的 ContentPage 中添加 Xamarin 社区工具包弹出窗口?

想在ContentPage. 我不想为每个弹出窗口制作单独的文件。因此,我希望它们位于ContentPage将显示弹出窗口的内部。无论如何我可以做到这一点吗?

这是我的 XAML 代码:

0 投票
1 回答
26 浏览

c# - 如何设置 Xamarin 社区工具包弹出窗口的大小以在 Xamarin 表单中动态包装内容?

我有一个Xamarin.CommunityToolkit - Popup。我不想预先定义它的大小。我希望它根据内容动态调整大小。有什么办法可以做到这一点?

这是我的 XAML 代码:

0 投票
2 回答
57 浏览

c# - Xamarin.Forms/MAUI 中的 INotifyPropertyChanged vs BindableObject vs ObservableObject

在使用 Xamarin.Forms 或 MAUI 创建项目时,我很难理解这三件事之间的区别。我知道这些是什么 -INotifyPropertyChanged是当您想在 XAML 中使用绑定时需要实现的接口,是BindableObject实现所述接口的 Xamarin.Forms 类,并且ObservableObject是在 Xamarin Community Toolkit 中找到的也实现该接口的类。我只是不太了解它们之间的区别(尤其是后两者)以及何时使用它们中的任何一个?我已经阅读了不同的教程,他们都说了不同的话——你需要自己实现接口(所以你的视图模型实现它),你的视图模型需要继承自BindableObject,或者——如果你使用的是 Xamarin 社区工具包(你可能应该使用/正在使用) - 继承自ObservableObject. 但是 - 就像我说的 - 为什么你应该使用上面提到的任何解决方案而不是其他解决方案?

如果您实现INotifyPropertyChanged接口 Visual Studio(或 ReSharper 扩展,我不确定是哪一个)会自动实现它需要的方法并添加此代码:

但这会使您的代码更长/更丑,所以我理解为什么您只想从已经实现该接口的类继承。但是为什么有些人说你应该总是自己实现呢?当您自己实现它或从已经实现它的类继承时有区别吗?此外,如果您决定从一个类继承 - 为什么要使用其中一个而不是另一个?Xamarin.Forms 的文档在这方面非常好,但它不承认 Xamarin 社区工具包的存在,并且Xamarin 社区工具包文档没有回答我的问题,也没有说明为什么你应该使用它们ObservableObject而不是 Xamarin。表单的内置BindableObject.