我有以下表格
<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 的菜鳥。
謝謝。
uj5u.com熱心網友回復:
如果你ListView ItemsSource是一個List<SomeType>那么
var item = (SomeType)menuItem.BindingContext;
DisplayAlert("Alert", "Check Out File: " item.webUrl "requested", "ok");
假設這webUrl是一個屬性SomeType
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/313141.html
標籤:沙马林 xamarin.forms 超载
