我只是尝试创建一个人员列表和一个用于过滤的文本框
那是我的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会正确过滤,输入第三个字符列表将始终为空。
有人知道为什么会这样吗?
答案 0 :(得分:1)
omg ...那真是令人尴尬......
我的List为空的原因:键盘的可见性移动了List的视线(现在真的很短,例如1项)超出了屏幕的可见性......
我很抱歉这个愚蠢的问题,我的程序按预期工作......