在Windows Phone 8.1的c# GridView中访问e.c rekeditem对象的值
本文关键字:访问 rekeditem 对象 GridView Phone Windows | 更新日期: 2023-09-27 18:16:43
我正在为客户端构建一个Windows Phone 8.1应用程序,并且遇到了一些我无法找到答案的东西,因此有了这个问题。我提前道歉,因为这可能是很明显的事情,我没有注意到。
我有一个GridView绑定到供应商列表从我的数据模型。我可以按照计划从网格中选择/单击返回值。 XAML精华:
<GridView x:Name="VendorsGridView"
ItemsSource="{Binding}"
Grid.Row="1"
Margin="10,8,10,12"
Foreground="White"
SelectionMode="Single"
IsSwipeEnabled="False"
ItemClick="VendorsGridView_ItemClick"
IsItemClickEnabled="True"
ItemTemplate="{StaticResource VendorTemplate}">
</GridView>
</Grid.RowDefinitions>
<TextBlock Text="{Binding StrVendor}"
Name="VNo"
Grid.Row="0"
Margin="0,0,0,0"
VerticalAlignment="Top"
HorizontalAlignment="Center"
FontSize="18"
FontWeight="SemiBold"/>
<TextBlock Text="{Binding StrVName}"
Name="VName"
Grid.Row="1"
Margin="0,0,0,0"
VerticalAlignment="Center"
TextWrapping="Wrap"
FontSize="14"/>
如果我在调试窗口中检查e.c rekeditem,我可以看到我试图找到的值(StrVendor或供应商编号)。然后设计将其写回静态表,以便在查看其他数据时作为默认值使用。
调试窗口输出:
e.ClickedItem
{MOQ_v301.ViewModel.VendorViewModel}
base: {MOQ_v301.ViewModel.VendorViewModel}
IsDirty: true
isDirty: true
StrVendor: "40520"
strVendor: "40520"
StrVName: "Forest Garden PLC"
strVName: "Forest Garden PLC"
我的问题是如何获得捕获到字符串变量的供应商编号来实现它?
因为您的网格绑定到一个模型,所以您通过单击获得该模型的1项。因此,只需将该项目投射到模型并获得供应商编号……不确定实际的模型类是什么,但假设它是VendorViewModel的代码应该是:((VendorViewModel)e.ClickedItem)。StrVendor将给你实际的供应商编号。
最好检查你是否真的得到了一个模型,所以最终的代码可能如下所示:
if(e.ClickedItem is VendorViewModel)
{
var vendornr = ((VendorViewModel)e.ClickedItem).StrVendor;
}