【发布时间】:2017-02-18 17:22:55
【问题描述】:
我有一个 Xamarin.Forms PCL VS2015 解决方案,并花了三天时间寻找我的问题的解决方案。我尝试了很多方法,包括使用 Listview onitemselected,它适用于 Win10,但不适用于 Android 或 iOS。试过这个。FindByName(emailValue);并使用发件人框架,但没有运气。我需要提供作为标签文本绑定的电子邮件地址。
<Label x:Name="emailValue"
Text="{Binding Email}"/>
标签是列表视图项的子项的子项。
x:Name 元素在后面的代码中不可用。我理解这是因为标签位于列表视图中,编译器无法区分列表视图项。
我已经使用智能感知在 Tap 的发件人(框架)上进行了深入研究,我可以看到我需要的电子邮件文本,但我无法找到提取它的方法。
<StackLayout Orientation="Vertical"
VerticalOptions="FillAndExpand">
<ListView x:Name="listViewContacts"
ItemSelected="OnListViewItemSelected"
IsPullToRefreshEnabled="true" Refreshing="OnRefresh"
SeparatorColor="#FFCF00"
VerticalOptions="FillAndExpand"
HasUnevenRows="True">
<!-- Need HasUnevenRows = true to enable correct
display in Android-->
<ListView.ItemTemplate>
<DataTemplate >
<ViewCell>
<ContentView Padding="5">
<StackLayout>
<Grid RowSpacing="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Frame OutlineColor="Black"
BackgroundColor="Transparent"
Padding="0"
Grid.Row="4">
<Frame.GestureRecognizers>
<TapGestureRecognizer Tapped="OnPhoneFrameTapped"/>
</Frame.GestureRecognizers>
<StackLayout Orientation="Horizontal"
Padding="10,5,0,5">
<Label Text="Phone:"/>
<Label x:Name="phoneValue"
Text="{Binding Mobile}"/>
</StackLayout>
</Frame> ...
!
【问题讨论】:
标签: c# listview xamarin.forms xamarin.forms.listview