Abs*_*ith 5 prism mvvm xamarin xamarin.forms
我正在使用Prism实现MVVM。
而且我有一个情况,我有一个ListView,必须处理ItemTapped事件,还必须获取被点击的项目。
我尝试使用EventToCommandBehavior。
但是我无法使它起作用,因为它无法识别添加的引用。
在EventToCommandBehavior当前不存在在的NuGet提供的PRE1包。这应该在 pre2 发布时可用。
我的建议是,您现在可以将 EventToCommandBehavior 复制到您的项目中,或者您可以添加我使用的一个:
/// <summary>
/// ListView Item Tapped Behavior.
/// </summary>
public class ItemTappedBehavior : BehaviorBase<ListView>
{
/// <summary>
/// Gets or sets the command.
/// </summary>
/// <value>The command.</value>
public ICommand Command { get; set; }
/// <inheritDoc />
protected override void OnAttachedTo( ListView bindable )
{
base.OnAttachedTo( bindable );
AssociatedObject.ItemTapped += OnItemTapped;
}
/// <inheritDoc />
protected override void OnDetachingFrom( ListView bindable )
{
base.OnDetachingFrom( bindable );
AssociatedObject.ItemTapped -= OnItemTapped;
}
void OnItemTapped( object sender, ItemTappedEventArgs e )
{
if ( Command == null || e.Item == null ) return;
if ( Command.CanExecute( e.Item ) )
Command.Execute( e.Item );
}
}
Run Code Online (Sandbox Code Playgroud)
然后在你的 Xaml 中
<ListView.Behaviors>
<behaviors:ItemTappedBehavior Command="{Binding SelectedItemCommand}" />
</ListView.Behaviors>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5901 次 |
| 最近记录: |