xamarin 表单 - 如何访问 BindingContext 中的字符串
Posted
技术标签:
【中文标题】xamarin 表单 - 如何访问 BindingContext 中的字符串【英文标题】:xamarin form - how to access string in BindingContext 【发布时间】:2021-12-01 04:55:24 【问题描述】:我有以下表格
<ListView x:Name="DocumentList"
HasUnevenRows="true"
>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.ContextActions>
<MenuItem Text="Check In"
Clicked="CheckInFile"/>
<MenuItem Text="Check Out"
Clicked="CheckOutFile"/>
<MenuItem Text="Status"
Clicked="FileStatus"/>
</ViewCell.ContextActions>
<Grid>
<Label Text="Binding Path=WebUrl"
FontSize="Small" />
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
这里是上下文菜单中一项的点击事件处理程序:
protected void CheckOutFile(object sender, EventArgs e)
var menuItem = sender as MenuItem;
if (menuItem != null)
var webUrl = menuItem.BindingContext;
DisplayAlert("Alert", "Check Out File: " + webUrl + "requested", "ok");
问题/疑问
问题 1
当表单加载时 - “WebUrl”值正确显示。 但是当我点击“CheckOut”时,我不知道如何从 menuItem.BindingContext 中提取值/url。警报显示为空。
问题 2
我只希望用户看到 WebUrl,但我想传递 3 个不同的值,比如当点击事件被触发时。我该怎么做?
抱歉,我只是 xaml 和 xamarin 的菜鸟。 谢谢。
【问题讨论】:
【参考方案1】:如果您的ListView
ItemsSource
是List<SomeType>
那么
var item = (SomeType)menuItem.BindingContext;
DisplayAlert("Alert", "Check Out File: " + item.webUrl + "requested", "ok");
假设webUrl
是SomeType
的属性
【讨论】:
以上是关于xamarin 表单 - 如何访问 BindingContext 中的字符串的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin 表单 - Java.Interop.lz4 访问被拒绝错误