我正在使用名为star.xml的XML文件创建应用程序,以将我的数据存储在列表视图中。我对c#和编程非常陌生,需要任何帮助 基本上,我希望能够输入我的搜索文本框(称为'search')和我的列表视图(lstStar),以仅显示匹配的记录。即输入“奥迪”只会返回这些项目。 任何帮助将非常感激 仁使用文本框搜索在WPF中创建Listview筛选器
namespace StarinCar
{
public partial class MainWindow : Window
{
int hot = -2;
int Mildly_Moist = -2;
int Wet = -4;
int Very_Wet = -6;
private ObservableCollection<star> starData;
public MainWindow()
{
InitializeComponent();
starData = new ObservableCollection<star>();
lstStar.ItemsSource = starData;
try
{
XmlSerializer xs = new XmlSerializer(typeof(ObservableCollection<star>));
using (StreamReader rd = new StreamReader("star.xml"))
{
starData = xs.Deserialize(rd) as ObservableCollection<star>;
}
}
catch
{
}
lstStar.ItemsSource = starData;
lblAverage.Content = starData.Average(i => i.time).ToString();
lblFastest.Content = starData.Min(i => i.time).ToString();
lblSlowest.Content = starData.Max(i => i.time).ToString();
}
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
star newStar = new star();
newStar.firstName = txtName.Text;
newStar.time = int.Parse(txtTime.Text);
newStar.car = txtCar.Text;
newStar.track = txtTrack.Text;
starData.Add(newStar);
if (txtTrack.Text.Contains("Hot") || (txtTrack.Text.Contains("hot") == true))
{
newStar.time = int.Parse(txtTime.Text) + hot;
}
if (txtTrack.Text.Contains("Mildly Moist") || (txtTrack.Text.Contains("mildly moist")) == true)
{
newStar.time = int.Parse(txtTime.Text) + Mildly_Moist;
}
if (txtTrack.Text.Contains("Wet") || (txtTrack.Text.Contains("wet") == true))
{
newStar.time = int.Parse(txtTime.Text) + Wet;
}
if (txtTrack.Text.Contains("Very Wet") || (txtTrack.Text.Contains("very wet")) == true)
{
newStar.time = int.Parse(txtTime.Text) + Very_Wet;
}
}
private void Window_Closed(object sender, EventArgs e)
{
XmlSerializer xs = new XmlSerializer(typeof(ObservableCollection<star>));
using (StreamWriter wr = new StreamWriter("star.xml"))
{
xs.Serialize(wr, starData);
}
}
}
}
哪里是你的列表框和搜索框,以及它们的XAML代码是如何筛选?你什么时候想让你的列表框更新它的星星列表?即。在完成“奥迪”输入后,你有没有按钮,或者是否应该不断更新,如果你输入或输入了什么内容? – 2015-02-24 15:11:40
欢迎来到SO。不要包含与问题无关的代码。不要有很多空白行。搜索TextBox被埋在那里。绑定到通过搜索过滤的iEnumerable。 – Paparazzi 2015-02-24 15:21:16
好的问题需要一些清理通过编辑出来所有的XAML是有点远。现在没有XAML,因为我希望能够输入我的搜索文本框(称为“搜索”)和我的列表视图(lstStar)。 – Paparazzi 2015-02-24 17:11:01