0
これは私のXamarin Formsアプリケーションのコードです。これはxamlのListViewにActivities
List of DetaledActivity
の前のページから入力する必要があります。ステップスルーしてコードをデバッグすると、_activities
にはいくつかの項目が含まれていますが、xamlページには表示されません。ListViewのソースはNavigationParametersから更新されていません
このページのコンストラクタの項目をリストに追加すると、そのセルをクリックできますが、テキストは表示されません。
public class DetailedActivityPageViewModel : _ViewModelBase
{
INavigationService _navigationService;
public DetailedActivityPageViewModel(INavigationService navigationService)
{
_navigationService = navigationService;
}
public override void OnNavigatedTo(NavigationParameters parameters)
{
base.OnNavigatedTo(parameters);
if (parameters.ContainsKey("properties"))
{
var localAcs = new List<DetailedActivity>();
var properties = (Dictionary<string, object>)parameters["properties"];
foreach (var prop in properties)
{
if (prop.Value != null)
localAcs.Add(new DetailedActivity { Key = prop.Key.ToString(), Value = prop.Value.ToString() });
}
_activities = localAcs;
}
}
private IEnumerable<DetailedActivity> _activities;
public IEnumerable<DetailedActivity> Activities { get { return _activities; } set { SetProperty(ref _activities, value, "Activities"); } }
}
public class DetailedActivity
{
public string Key;
public string Value;
}
<ListView ItemsSource="{Binding Activities}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal">
<Label Text="{Binding Key}" />
<Label Text="{Binding Value}" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>