繁体   English   中英

自动完成框不会清除键盘敲击

[英]Autocompletebox doesn't clear keyboard strokes

在我的应用程序中,我正在使用wpf工具包中的WPF自动完成框。 我正在通过MVVM模式实现它。 绑定工作正常,但我在尝试清除自动完成框的内容时遇到一个小问题。 将viewmodel中的bound属性设置为null,仅部分清除文本(通过键盘输入的所有文本都不会被清除 - 即,如果我在获取所有城市时输入CH并选择Chicago并将bound属性设置为null,则CH没有被清除,其余的ICAGO是。)

XAML看起来像这样:

           <my:AutoCompleteBox Grid.Row="0"
                                Grid.Column="1" 
                                HorizontalAlignment="Left" 
                                Margin="0,6,0,0" 
                                Name="acTown" 
                                SelectedItem="{Binding NewTown, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                                ValueMemberBinding="{Binding Converter={StaticResource TownConverter}}"        
                                Populating="Populating"
                                VerticalAlignment="Top" 
                                Height="Auto" 
            </my:AutoCompleteBox>

viewmodel中清除该框的方法是:

   public void ClearTown()
    {

    NewTown = null;

    OnPropertyChanged("NewTown");
}

我无法弄清楚代码有什么问题,或者这只是自动完成框中的一个错误?

经过广泛的研究,我发现了这篇文章: 如何使用MVVM清除Silverlight AutoCompleteBox SearchText ,但它没有提供解决方案。 AutoCompleteBox上的SearchText属性似乎是只读的,不能有setter

终于明白了。 如果有人感兴趣,解决方案是在ClearTown函数中简单地将NewTown = null更改为NewTown = new NewTown()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM