【发布时间】:2017-05-15 16:39:07
【问题描述】:
所以我有一个自定义的 GridView,其数据模板包含一个 TextBox,并由一个名为 Player 的自定义类列表填充。我需要能够检索 Player 的实例和 TextBox 中的文本,并将它们保存到一个名为 Score 的新自定义类中。
<GridView x:Name="gridScore" ItemsSource="{x:Bind PlayerList}" IsItemClickEnabled="True">
<GridView.ItemTemplate>
<DataTemplate x:DataType="data:Player">
<StackPanel Orientation="Horizontal">
<TextBox x:Name="txtbxGridScore" TextChanged="txtbxGridScoreChangedEventHandler" />
<Image Source="{x:Bind ProfilePicture}"/>
<StackPanel VerticalAlignment="Center">
<TextBlock Text="{x:Bind FullName}" />
<TextBlock Text="{x:Bind Alias}" />
</StackPanel>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
<Button x:Name="buttonSave" Content="Save Scores" Style="{StaticResource BarButtonStyle}" Click="buttonSave_Click"/>
我来自基于 Web 的 Java 背景,所以这对我来说有点新,但它似乎应该是一个相当简单的练习。
最初,我尝试在单击按钮时遍历 GridView,并抓取每个 Player 项目以及 TextBox 文本并将它们保存到 Score 的 List 中,但是,获取 TextBox 值被证明很麻烦。
然后我尝试初始化 Score 的页面范围 List 并在每次更改 TextBox 值时简单地更新它,但是我也无法完成这项工作。
任何一种方法的解决方案都适合我的目的。任何意见表示赞赏!
【问题讨论】:
-
你能说你想要TextBox值的原因是什么?要明确在什么场景下你想得到它的价值。
-
当然!该值是玩家获得的分数。因此,该应用会显示所有当前玩家的列表,然后用户输入每个玩家获得的分数。
-
那么你想通过上面的文本框为玩家输入分数吗?
-
你也可以编辑你的帖子向我们展示你正在使用的模型类播放器。
标签: c# windows xaml uwp win-universal-app