xamarin 表单 - 如何访问 BindingContext 中的字符串
xamarin form - how to access string in BindingContext
我有以下表格
<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 的菜鸟。
谢谢
如果您的 ListView
ItemsSource
是 List<SomeType>
那么
var item = (SomeType)menuItem.BindingContext;
DisplayAlert("Alert", "Check Out File: " + item.webUrl + "requested", "ok");
假设 webUrl
是 SomeType
的 属性
我有以下表格
<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 的菜鸟。
谢谢
如果您的 ListView
ItemsSource
是 List<SomeType>
那么
var item = (SomeType)menuItem.BindingContext;
DisplayAlert("Alert", "Check Out File: " + item.webUrl + "requested", "ok");
假设 webUrl
是 SomeType