c# - 如何将 SwitchCell 文本颜色绑定(bind)到 Xamarin.Forms 中的 View 模型

标签 c# mvvm xamarin xamarin.forms

我正在尝试将 SwitchCell 文本颜色绑定(bind)到 View 模型,但 SwitchCell.TextColor 可绑定(bind)属性不存在。如何绑定(bind) switchCell 的文本颜色?

有一些代码:

var channelStatusSwitch = new SwitchCell {Text = AppResources.ChannelStatusSwitchText};
channelStatusSwitch.SetBinding(SwitchCell.OnProperty, new Binding("IsChannelRunning", BindingMode.TwoWay));
channelStatusSwitch.SetBinding(/*text color poperty*/, new Binding("IsChannelRunning", BindingMode.OneWay,new BoolToColorConverter()));

最佳答案

SwitchCell仅公开 2 个可绑定(bind)属性 OnText .
如果您需要文本颜色属性,则需要创建自定义控件。

SwitchCell 是 Cell带有标签和开/关开关。

好了,您可以在共享或 PCL 项目本身中创建自定义控件,并且您不需要特定于平台的自定义渲染来实现它。

您可以在 XAML 本身中执行此操作,也可以通过创建从 Cell 继承的 CustomSwitchCell 并向其添加 Label 和 Switch 来执行此操作。然后公开您的 TextColor 属性并使用它来设置标签的字体颜色。

关于c# - 如何将 SwitchCell 文本颜色绑定(bind)到 Xamarin.Forms 中的 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38719701/

相关文章:

c# - 检查 url unc 目录路径是否存在

wpf - 为什么 ViewModel 需要实现 INotifyPropertyChanged 或使用依赖属性?

c# - 如何在 MVVM 中启动非模态对话框?

c# - Xamarin Android Visualizer SetDataCaptureListener 抛出 InvalidCastException

c# - 回滚对 Entity Framework .NET 中的数据库所做的更改

c# - 序列化字符串的 Web API 验证

c# - Windows Phone 10 UWP 应用中的区域格式和语言

java - 资源类和 null 参数

c# - MediaPlayer 类中的 SetDataSource 从 Assets 或 raw 文件夹加载 mp3 文件

ios - App/iOS 因 “Terminating in response to backboardd' s 终止而崩溃”