如何解决从 contentview 中检索 Listview 条目更新 - xamarin
我有一个绑定到一组活动的列表视图,包括一个时间跨度,我将天数、小时数、分钟秒数划分为单独的输入字段,以便在我的内容视图中进行更新。
当我在后面的代码中单击保存并遍历列表视图时,它不会检索更新的值,只会检索原始值。如果我尝试编辑字符串,此方法工作正常,但我需要帮助来创建自定义类或绑定时间跨度字段?谁能告诉我这是怎么做的?
内容视图中的列表视图:
<ListView
x:Name="ActivitiesSettingsList"
SelectionMode="None"
CachingStrategy="RetainElement"
HasUnevenRows="True"
BackgroundColor="White"
IsPullToRefreshEnabled="False"
ItemsSource="{Binding UserActivitiesList }"
RefreshCommand="{Binding getUserActivities}"
IsRefreshing="{Binding IsBusy,Mode=OneWay}"
SeparatorVisibility="None"
RowHeight="70"
>
<ListView.ItemTemplate>
<DataTemplate >
<ViewCell
Height="60"
>
<StackLayout>
<Grid BackgroundColor="White" x:Name="activitiesGrid"
HeightRequest="60" WidthRequest="600" Margin="20,20,0" >
<Grid.RowDeFinitions>
<RowDeFinition Height="28"/>
<RowDeFinition Height="28"/>
<RowDeFinition Height="1" />
</Grid.RowDeFinitions>
<Grid.ColumnDeFinitions>
<ColumnDeFinition Width="30*"/>
<ColumnDeFinition Width="15*"/>
<ColumnDeFinition Width="15*"/>
<ColumnDeFinition Width="15*"/>
<ColumnDeFinition Width="15*"/>
</Grid.ColumnDeFinitions>
<Label
Grid.Row="0"
Grid.Column="0"
VerticalOptions="Start"
FontAttributes="None"
Text="{Binding .ActivityName}"
Margin="0,0"
TextColor="Black"
Padding="0,10,0"
FontFamily="Hiragino Sans"
FontSize="14"
HeightRequest="53"
BackgroundColor="White"
/>
<Entry
Grid.Row="0"
Grid.Column="1"
VerticalOptions="Center"
FontAttributes="None"
Text="{Binding ActivityGoalDuration.Days}"
TextColor="Black"
Margin="0,0"
FontFamily="Hiragino Sans"
FontSize="14"
HeightRequest="53"
BackgroundColor="White"
/>
<Entry
Grid.Row="0"
Grid.Column="2"
VerticalOptions="Center"
FontAttributes="None"
Text="{Binding ActivityGoalDuration.Hours}"
TextColor="Black"
Margin="0,0"
FontFamily="Hiragino Sans"
FontSize="14"
HeightRequest="53"
BackgroundColor="White"
x:Name="actDays"
/>
<Entry
Grid.Row="0"
Grid.Column="3"
VerticalOptions="Center"
FontAttributes="None"
Text="{Binding ActivityGoalDuration.Minutes}"
TextColor="Black"
Margin="0,0"
FontFamily="Hiragino Sans"
FontSize="14"
HeightRequest="53"
BackgroundColor="White"
/>
<Entry
Grid.Row="0"
Grid.Column="4"
VerticalOptions="Center"
FontAttributes="None"
Text="{Binding ActivityGoalDuration.Seconds}"
TextColor="Black"
Margin="0,0"
FontFamily="Hiragino Sans"
FontSize="14"
HeightRequest="53"
BackgroundColor="White"
/>
</Grid>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
背后的代码:
List<UserActivities.Activities> list = new List<UserActivities.Activities>();
//list = (List<UserActivities.Activities>) ActivitiesSettingsList.ItemsSource.Cast<UserActivities.Activities>();
foreach (UserActivities.Activities activityCollection in ActivitiesSettingsList.ItemsSource.Cast<UserActivities.Activities>())
{
var x = activityCollection.ActivityGoalDuration;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。