我正在使用名爲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