Xamarin 如何将 class 属性(来自另一个项目)绑定到 Picker.ItemDisplayBinding 属性
Xamarin How to bind a class property (from another project) to the Picker.ItemDisplayBinding property
我正在尝试在选择器中填充和显示列表“magasin”。
magasin class 来自另一个项目,添加到我的主项目的依赖项中。
我可以填充选择器,但我没能设置 Picker.ItemDisplayBinding = new Binding("otherProject.magasin.Name"); ,它只是为每个项目显示 otherProject.magasin。
这是我的代码:
using otherProject;
public partial class fForm: ContentPage
{
public List<otherProject.magasin> listeMagasin;
public fForm()
{
BindingContext = this;
InitializeComponent();
listeMagasin = otherProject.magasin.chargerMagasins();
if (listeMagasin != null)
{
pickerMagasin.ItemsSource = listeMagasin;
pickerMagasin.ItemDisplayBinding = new
Binding("otherProject.magasin.Name");
}
}
}
还有我的XAML
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="mainProject.fForm">
<ContentPage.Content>
<StackLayout HorizontalOptions="FillAndExpand">
<Picker x:Name="pickerMagasin"></Picker>
</StackLayout>
</ContentPage.Content>
和杂志 class
namespace otherProject
{
public class magasin
{
public string Code;
public string Name;
public magasin(string code)
{
Code = code;
}
public static List<magasin> chargerMagasins(){
//Code here}
}
}
我尝试了 Binding("Name") 或 Binding("magasin.Name"),但没有成功
感谢您的帮助!
我觉得是因为Name和Code只是字段,应该是属性。尝试将 magasin class 更改为
public string Name {get;set;}
public string Code {get;set;}
那么Binding("Name")
就可以了。
我正在尝试在选择器中填充和显示列表“magasin”。
magasin class 来自另一个项目,添加到我的主项目的依赖项中。
我可以填充选择器,但我没能设置 Picker.ItemDisplayBinding = new Binding("otherProject.magasin.Name"); ,它只是为每个项目显示 otherProject.magasin。
这是我的代码:
using otherProject;
public partial class fForm: ContentPage
{
public List<otherProject.magasin> listeMagasin;
public fForm()
{
BindingContext = this;
InitializeComponent();
listeMagasin = otherProject.magasin.chargerMagasins();
if (listeMagasin != null)
{
pickerMagasin.ItemsSource = listeMagasin;
pickerMagasin.ItemDisplayBinding = new
Binding("otherProject.magasin.Name");
}
}
}
还有我的XAML
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="mainProject.fForm">
<ContentPage.Content>
<StackLayout HorizontalOptions="FillAndExpand">
<Picker x:Name="pickerMagasin"></Picker>
</StackLayout>
</ContentPage.Content>
和杂志 class
namespace otherProject
{
public class magasin
{
public string Code;
public string Name;
public magasin(string code)
{
Code = code;
}
public static List<magasin> chargerMagasins(){
//Code here}
}
}
我尝试了 Binding("Name") 或 Binding("magasin.Name"),但没有成功
感谢您的帮助!
我觉得是因为Name和Code只是字段,应该是属性。尝试将 magasin class 更改为
public string Name {get;set;}
public string Code {get;set;}
那么Binding("Name")
就可以了。