private void pckItemCode_SelectedIndexChanged(object sender, EventArgs e)
{
var picker = (Picker)sender;
int selectedIndex = picker.SelectedIndex;
if (selectedIndex != -1)
{
var field = picker.ItemsSource[selectedIndex];
foreach (var data2 in field)
{
}
}
}
我想從 ItemSource 獲取資料,當我從 var 欄位回圈資料時,我得到一個錯誤.. 我該怎么辦?
uj5u.com熱心網友回復:
private void pckItemCode_SelectedIndexChanged(object sender, EventArgs e)
{
var picker = (Picker)sender;
int selectedIndex = picker.SelectedIndex;
if (selectedIndex != -1)
{
var field = picker.ItemsSource[selectedIndex];
foreach (var propertyInfo in field.GetType().GetProperties())
{
string test = propertyInfo.GetValue(field).ToString();
string test2 = propertyInfo.Name;
}
}
}
最后我找到了這個答案,我想從物件中獲取屬性值,我得到了它.. 感謝所有幫助回答我的問題的人
uj5u.com熱心網友回復:
您想訪問所選物件的屬性,對嗎?
然后,您可以通過selectedIndex就像您的代碼一樣獲取所選物件,我們可以通過將物件轉換為 Picker 的專案型別來訪問所選物件的屬性。
請參考以下代碼:
private void Picker_SelectedIndexChanged(object sender, System.EventArgs e)
{
var picker = (Picker)sender;
int selectedIndex = picker.SelectedIndex;
if (selectedIndex != -1)
{
// here you can cast the field to your type,mine is `Monkey `
Monkey field = (Monkey)picker.ItemsSource[selectedIndex];
System.Diagnostics.Debug.WriteLine("--------> " selectedIndex "<---->" field.Name);
}
}
筆記:
由于field不是串列,所以我們不能迭代field
foreach (var data2 in field) // Code usage error
{
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/445079.html
