0
視圖中的輸入字段正在內容頁面上填充。並且在視圖中它被設置爲IsEnabled=false;
。每當它被設置爲禁用時,條目的值不會被設置。xamarin.forms的奇怪問題
請看看下面的代碼:
public class DetailsView : ContentView
{
public static Entry txtdetailsName;
public DetailsView()
{
Label lbldetailsName = new Label { Text = Resource.detailsName, FontAttributes = FontAttributes.Bold, Style = (Style)Application.Current.Resources["LabelStyle"] };
txtdetailsName = new Entry { Style = (Style)Application.Current.Resources["entryStyle"], IsEnabled = false };
StackLayout stDetailsName = new StackLayout
{
Padding = new Thickness(10, 0, 10, 0),
Children ={
lbldetailsName,
txtdetailsName
}
};
Content = new StackLayout
{
Padding = new Thickness(0, 0, 0, 20),
Children = {stDetailsName}
};
}
}
在內容頁:
public TestDetailsPage()
{
getDetailsData();
}
private async void getDetailsData()
{
Test test = new Test();
test = await getTestDetails();
loadView(test);
}
public async Task<Test> getTestDetails()
{
//...
return Test;
}
public void loadView(Test test)
{
DetailsView = new DetailsView();
//DetailsView.txtdetailsName.Text = Test.Name;
DetailsView.txtdetailsName.Text = "Some Text";
}
但它似乎並沒有設定值。不知道是什麼導致了這個問題。
編輯
我測試在三個機器人設備Micromax的畫布(Android版本6.0.1),華碩Zenfone(Android版本4.4.2)和三星Galaxy Tab 2的應用(Android版本4.1.2) 。在華碩zenfone和Samasung galaxy標籤2上,禁用字段的值按預期顯示,而在Micromax畫布上,禁用的文本框爲空。
Android version could be the issue?
它確實創建DetailsView。我在3個設備(Micromax Canvas(Android版本6.0.1),華碩Zenfone(Android版本4.4.2)和三星Galaxy Tab 2(Android版本4.1.2))上測試了應用程序,奇怪的是它在兩個設備上工作(Asus Zenfone和Samasung星系標籤2)。 Android版本可能是問題? – Arti
它當然可以是Android版本。您的應用程序是否使用FormsAppCompatActivity? – joe
不,MainActivity.cs繼承自FormsApplicationActivity – Arti