gpt4 book ai didi

mvvmcross - 创建自定义可见性转换器

转载 作者:行者123 更新时间:2023-12-05 01:07:45 25 4
gpt4 key购买 nike

我正在尝试为我的 MvvmCross 项目创建一个自定义转换器。我从 MvxBaseVisibilityValueConverter 继承,只是实现了 Convert 方法。

我是否还需要实现特定于平台的项目,或者是否有办法重用特定于平台的可见性插件?

最佳答案

最近几天我一直在记录 ValueConverters - 请参阅 https://github.com/slodge/MvvmCross/wiki/Value-Converters

我刚刚在文章中添加了这个示例自定义可见性 ValueConverter:

如果您需要创建自己的 Visibility ValueConverter,那么 MvxBaseVisibilityValueConverter<T>MvxBaseVisibilityValueConverter基类可以帮助解决这个问题 - 例如:

public class SayPleaseVisibilityValueConverter : MvxBaseVisibilityValueConverter<string>
{
protected override MvxVisibility Convert(string value, object parameter, CultureInfo culture)
{
return (value == "Please) ? MvxVisibility.Visible : MvxVisibility.Collapsed;
}
}

使用这种方法,那么插件基类将转换 MvxVisibility在运行时设置为合适的 native 值 - 所以 您只需要将这种类型的类添加到您的核心 PCL 项目 - 您不需要添加该类的 native 版本 - 而插件中的基类将负责 MvxVisibility -> native Visibility转换。

Aside> 除了 Visibility插件的枚举支持,最近的“西藏”绑定(bind)更改还添加了自定义 Visible将属性绑定(bind)到所有平台 - 这些只是 bool更易于使用 - 它们应该在 iOS 和 Android 上“正常工作”,但在 Windows 平台上,它们只有在您切换到“西藏” mvx:Bi.nd 绑定(bind)样式时才能工作(所以不是每个人都喜欢的方法!)

关于mvvmcross - 创建自定义可见性转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18168455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com