Xamarin AutoSuggestBox选定项作为命令参数

gdx19jrr  于 2023-01-15  发布在  其他
关注(0)|答案(2)|浏览(123)

我的小组成员问我是否可以在我的应用程序中放置自动建议。经过一番研究,我决定使用这个AutoSugggestionBox并遵循this教程。但是,我很难显示所选的建议,因为我正在将其转换为MVVM。在时间戳16:12,他使用dotMorten.Xamarin.Forms.AutoSuggestBoxQuerySubmittedEventArgs参数获得ChoseSuggestion。
我的问题是,如果使用xct:XamarinCommunityTools EventToCommandBehavior,我将在CommandParameter中放入什么

<control:AutoSuggestBox PlaceholderText="Enter" 
                x:Name="AutoSuggestBox">
    <control:AutoSuggestBox.Behaviors>
        <xct:EventToCommandBehavior EventName="QuerySubmitted"
                                    Command="{Binding quesrySubmitComm}"
                                    CommandParameter=""
    </control:AutoSuggestBox.Behaviors>
</control:AutoSuggestBox>

或者有没有更简单的方法来MVVMify AutoSuggestBox?提前感谢您的回答。

yzckvree

yzckvree1#

根据João关于使用SuggestionChosen的建议,我设法绕过MVVM
我认为这是

<control:AutoSuggestBox x:Name="box">
    <control:AutoSuggestBox.Behaviors>
        <xct:EventToCommandBehavior EventName="TextChanged"
                                    .../>
        <xct:EventToCommandBehavior EventName="SuggestionChosen"
                                    Command="{Binding showComm}"
                                    CommandParameter="{x:Reference box}"/>
   </control:AutoSuggestBox.Behaviors>
</control:AutoSuggestBox>

这是我的视图模型

public ICommand showComm { get; }
private async Task show(object sender)
{
    AutoSuggestBox input = (AutoSuggestBox)sender;
    await App.Current.MainPage.DisplayAlert("", input.Text, "OK");
}
ycl3bljg

ycl3bljg2#

为此请使用建议选项!
您不需要此命令。
试试这个。

<control:AutoSuggestBox PlaceholderText="Enter" 
                        x:Name="AutoSuggestBox"
                        SuggestionChosen="SuggestionChosen"/>

创建方法并获得所选的。

相关问题