列表不会以正确的方式过滤

时间:2014-12-18 18:46:21

标签: c# windows-runtime

我只是尝试创建一个人员列表和一个用于过滤的文本框

那是我的xaml:

        <ListView x:Name="Mitarbeiterauswahl" 
        AutomationProperties.AutomationId="Mitarbeiterauswahlliste"
        AutomationProperties.Name="Items In Group"
        SelectionMode="Single"
        IsItemClickEnabled="True"
        ItemsSource="{Binding MitarbeiterListe}"
        ItemTemplate="{StaticResource MitarbeiterListeTemplate}"
        ContinuumNavigationTransitionInfo.ExitElementContainer="True" 
        IsDoubleTapEnabled="False" 
        IsHoldingEnabled="False" 
        IsRightTapEnabled="False"
        ItemClick="MitarbeiterAnrufen"
              />
    </ScrollViewer>
    <StackPanel Grid.Row="2" Margin="19,0,19,0">
        <TextBox PlaceholderText="suchen ..." KeyUp="ListeAktualisieren" InputScope="Search" IsTextPredictionEnabled="False" />
    </StackPanel>

我的代码隐藏:

    private void ListeAktualisieren(object sender, KeyRoutedEventArgs e)
    {
        _viewmodel.filter = ((TextBox)sender).Text;
    }

我的viewmodel:

    public List<Mitarbeiter> MitarbeiterListe
    {
        get 
        {
            if (string.IsNullOrEmpty(_filter) || this._MitarbeiterListe==null)
            {
                return this._MitarbeiterListe;
            }
            else
            {
                return this._MitarbeiterListe.Where(item => item.name_vorname.ToLower().Contains(_filter.ToLower())).ToList();
            }
        }
        set 
        { 
            this._MitarbeiterListe = value; 
            OnPropertyChanged(); 
        }
    }
    private List<Mitarbeiter> _MitarbeiterListe;

    public string filter 
    { 
        get { return _filter; } 
        set 
        { 
            _filter = value; 
            OnPropertyChanged("MitarbeiterListe"); 
        } 
    }
    private string _filter = "baza";

正如你所看到的,在开头_filter =&#34; baza&#34;并且过滤器工作,List只返回一个Item,其Name包含&#34; baza&#34;。 但如果我输入&#34; baza&#34;在TextBox中,List为空。而且:我可以输入2个字符,List会正确过滤,输入第三个字符列表将始终为空。

有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

omg ...那真是令人尴尬......

我的List为空的原因:键盘的可见性移动了List的视线(现在真的很短,例如1项)超出了屏幕的可见性......

我很抱歉这个愚蠢的问题,我的程序按预期工作......