進行基本概念驗證,嘗試使用資料庫中的資訊構建整個視圖。根據我目前的情況:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="FieldDataTemplateSelectorSample.DynamicView">
<ContentPage.Content>
<StackLayout>
<StackLayout Spacing="2" x:Name="EntryFieldsStack">
<!-- empty in xaml because we add details in code behind -->
</StackLayout>
<Label Text="nothing selected" x:Name="SelectedLabelName" />
</StackLayout>
</ContentPage.Content>
</ContentPage>
and the code behind so far:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
using FieldDataTemplateSelectorSample.Validations;
namespace FieldDataTemplateSelectorSample
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class DynamicView : ContentPage
{
public DynamicView()
{
InitializeComponent();
LoadDynamicFields();
}
public void OnRadioChanged(object sender, CheckedChangedEventArgs e)
{
SelectedLabelName.Text = String.Format("Selected value is {0}", e.Value);
}
public void LoadDynamicFields()
{
EntryFieldsStack.Children.Clear();
EntryFieldsStack.Children.Add(new Label { Text = "Dynamic Radio"});
for (int i = 0; i < 10; i )
{
EntryFieldsStack.Children.Add(new RadioButton
{
Value = i.ToString(),
Content = string.Format("Radio text {0}", i.ToString()),
GroupName = "RadioGroup1"
});
}
}
}
}
因此,現在硬編碼添加一個有 10 個選項的單選按鈕。我希望能夠為在 c# 中添加的每個 RadioButton 設定 CheckedChanged 方法名稱到 OnRadioChanged 方法,但該屬性未顯示在串列中。或者我需要對 INotifyPropertyChanged 做些什么嗎?對于這個例子,我只想用選定的值更新標簽,但最終我想引發 PropertyChanged 事件,所以如果有其他欄位需要更新,他們可以監聽它。
我還假設一旦我弄清楚如何設定方法,就會包含 GroupName,所以如果我像這樣添加了多個無線電組,我可以區分它們嗎?如果沒有,我該如何添加它?我嘗試添加嵌套的 StackLayout,但無法設定 GroupName 屬性。
謝謝
uj5u.com熱心網友回復:
您不能使用為屬性執行的行內語法分配事件處理程式
嘗試這個
var radio = new RadioButton
{
Value = i.ToString(),
Content = string.Format("Radio text {0}", i.ToString()),
GroupName = "RadioGroup1"
};
radio.CheckedChanged = OnRadioChanged;
EntryFieldsStack.Children.Add(radio);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/495569.html
下一篇:Xamarin,CompilationFailedException:編譯未能完成,來源:classes.jar:ApkLibraryInstaller$ZipFileInZipEntry.class
