c# - Xamarin 表单中的选取器 SelectedItem 绑定问题
问题描述
我有一个绑定到 ObservableCollection 对象的 Picker。这些项目是从 Web 服务(json 数据)填充的。
选择器正确显示数据,但 SelectedItem 不起作用。
这是我的 xaml 代码:
<Picker
ItemsSource="{Binding RatesTax}"
ItemDisplayBinding="{Binding Code}"
SelectedItem="{Binding SourceRate, Mode=TwoWay}">
</Picker>
RatesTax 是 RatesView 类的对象
public class RatesView
{
public string Code
{
get; set;
}
public double TaxRate
{
get; set;
}
}
这是属性
public ObservableCollection<RatesView> RatesTax { get; set; }
这是 sourceRate 属性
private RatesView sourceRate;
和 SourceRate 属性
public RatesView SourceRate
{
set
{
if (sourceRate != value)
{
sourceRate = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("SourceRate"));
}
}
get
{
return sourceRate;
}
}
我在 SourceRate 中放置了一个断点,以查看当我选择选择器的一些数据时它是否进入,但它没有进入 SourceRate 过程。我认为 SelectedItem="{Binding SourceRate} 没有按预期工作。
谢谢你的时间!
解决方案
这可能是 Xamarin 方面的错误。如果您将 SourceRate 设为字符串,您将在选择时获得您选择的代码。由于某种原因,它不会路由绑定的对象,而只会显示值。这似乎不是一种期望/预期的行为。
推荐阅读
- php - 将具有特定值的元素移动到维度数组的末尾
- c# - NodeJs 插件宽度 C++/CLI 和 C# 程序集我无法让它运行
- php - PHP如何为在while循环上为每一行创建的按钮生成唯一名称
- java - 无法使用 JDBC 将数据插入 MsSQL
- apache-spark - 如何在不遇到 OOM 的情况下在 Apache Spark 中进行总排序?
- android - intel Haxm 正在运行,但 android studio 3.6 无法识别
- php - 在 VS 代码中,PHP 文件无法在实时服务器上运行
- sql-server - sql server 快速增长表的方法
- ios - 应用程序崩溃 UIFoundation:UINibDecoderDecodeObjectForValue + 424
- list - 输入'列表
' 不是类型 'List 的子类型 ',扑腾