AutoSuggestionBox忽略输入(保留搜索查询)

时间:2016-07-23 19:50:28

标签: c# mvvm uwp uwp-xaml

使用带MVVM的AutoSuggestionBox我在ViewModel中处理QuerySubmitted事件(使用Behavior SDK进行绑定)。为了在建议列表为空时让UI更加响应用户输入,我添加一个单元素,其中包含文本"未找到建议",或者当建议没有加载时(来自数据库或网络) "建议尚未加载"。

但我不希望用户能够点击这些,因为他们不是真正的建议。如果我可以返回并且什么也不做,但Box会自动获取元素并将其用于建议,从而删除以前键入的文本。

有没有办法防止这种情况发生?

这是xaml:

<AutoSuggestBox x:Uid="StationSearch" ItemsSource="{Binding Path=SuggestedStations}" Text="{Binding SearchQuery, Mode=TwoWay}">
    <interactivity:Interaction.Behaviors>
        <core:EventTriggerBehavior EventName="QuerySubmitted">
            <core:InvokeCommandAction Command="{Binding LoadStationData}" InputConverter="{StaticResource SuggestionParameterConverter}" />
        </core:EventTriggerBehavior>
    </interactivity:Interaction.Behaviors>
</AutoSuggestBox>

并在VM中:

private void LoadStationData(Station selected)
{
    if (selected == _emptyStation || selected == _suggestionsNotLoadedStation)
    {
        return;
    }
    ... do more
}
// when looking for suggestions:
if(SuggestedStations.Count == 0)
    SuggestedStations.Add(_emptyStation);

0 个答案:

没有答案