C# 除了使用BindingContext之外,还有什么方法可以绑定选定项的属性?
除了使用C# 除了使用BindingContext之外,还有什么方法可以绑定选定项的属性?,c#,xamarin.forms,C#,Xamarin.forms,除了使用BindingContext,还有什么方法可以绑定选定项的属性 ListView:以下是我选择列表项的方法: async void OnListItemSelected(object sender, SelectedItemChangedEventArgs e) { ((App)App.Current).ResumeAtDatabaseId = (e.SelectedItem as DatabaseItem).ID; Deb
BindingContext
,还有什么方法可以绑定选定项的属性
ListView:以下是我选择列表项的方法:
async void OnListItemSelected(object sender, SelectedItemChangedEventArgs e)
{
((App)App.Current).ResumeAtDatabaseId = (e.SelectedItem as DatabaseItem).ID;
Debug.WriteLine("setting ResumeAtDatabaseId = " + (e.SelectedItem as DatabaseItem).ID);
await Navigation.PushAsync(new DatabaseItemView
{
BindingContext = e.SelectedItem as DatabaseItem
});
}
ItemView:这表明现在正在使用SetBinding
在两个视图之间绑定数据
public DatabaseItemView ()
{
//InitializeComponent ();
//Name
Name = new Entry
{
Placeholder = "Name"
};
Name.SetBinding(Entry.TextProperty, "Name");
//Date
Date = new DatePicker
{
Date = DateTime.Now.Date
};
Date.SetBinding(DatePicker.DateProperty, "Date");
...
这是目前的工作。不过,我希望对这个绑定和数据值设置有更多的控制。你说的“更多控制”是什么意思?你想做什么?@Slepz现在的工作方式,如果我要更改
Name.SetBinding(Entry.TextProperty,“Name”)的“Name”
代码>它将不再工作。我正在寻找一种替代方法,它不使用BindingContext
,而是依赖字符串的精确拼写。没有BindingContext,绑定就无法工作。除了显式赋值之外,真的没有其他选择@如果需要处理数据,Jason显式赋值是一种方法,对吗?我不知道如何使用BindingContext
并转换数据。我也有同样的问题,但现在我使用nameof()来避免意外的重构中断。它有C#6及以上的版本。我所有的绑定现在看起来都是这样的,对我来说效果很好:turnToBacksightButton.SetBinding(IsVisibleProperty,新绑定(路径:nameof(_-vm.CanaimBackSight),源代码:_-vm));