【发布时间】:2015-02-24 15:06:21
【问题描述】:
我正在使用名为 star.xml 的 XML 文件创建一个应用程序,以将我的数据存储在列表视图中。我对 c# 和编程非常陌生,需要任何帮助 基本上,我希望能够在我的搜索文本框(称为“搜索”)和我的列表视图(lstStar)中输入仅显示匹配的记录。 IE。输入“Audi”只会返回这些项目。 任何帮助都感激不尽 仁
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 在哪里?你希望你的列表框什么时候更新它的星星列表? IE。您是否有一个按钮可以在您输入完“Audi”后单击,还是应该在您输入时不断更新?
-
欢迎来到 SO。不要包含与问题无关的代码。不要有很多空行。搜索文本框被埋在最后。绑定到由 Search 过滤的 iEnumerable。
-
OK 问题需要通过编辑所有的 XAML 来进行清理,这有点远。现在没有 XAML,因为我希望能够在我的搜索文本框(称为“搜索”)和我的列表视图 (lstStar) 中输入。