C# wpf使进度条可从方法访问
我编写了一个代码,将不同单词的数量放入数据网格中的txt文件中。现在我正在尝试添加进度条,但我无法通过组织单词的方法访问它。不幸的是,有人告诉我必须在一个方法中拆分、计数等单词(我不能在start()中执行)。有人知道怎么做吗C# wpf使进度条可从方法访问,c#,wpf,C#,Wpf,我编写了一个代码,将不同单词的数量放入数据网格中的txt文件中。现在我正在尝试添加进度条,但我无法通过组织单词的方法访问它。不幸的是,有人告诉我必须在一个方法中拆分、计数等单词(我不能在start()中执行)。有人知道怎么做吗 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void start(object sender, RoutedEventArgs e)
{
string path = txtbox_path.Text;
string unordered = readFile(path);
var ordered = count(unordered);
progressbar_1.Maximum = ordered.Count;
foreach(var obj in ordered)
{
datagrid_table.Items.Add(obj);
progressbar_1.Value += 1;
}
}
private string readFile(string filePath)
{
string content = string.Empty;
try
{
content = File.ReadAllText(filePath);
}
catch (Exception e)
{
lbl_warning.Content=e.Message;
}
return content;
}
public static IDictionary count(string input)
{
var split = input.Split();
var grouped = split.GroupBy(x => x);
var ordered = grouped.OrderBy(x => x.Key);
var counted = from s in ordered
select new
{
word = s.Key,
number = split.Where(x => x.Equals(s.Key)).Count()
};
var asList = counted.ToList();
var orderedByNumber = asList.OrderByDescending(x => x.number);
var whitespacesRemoved = orderedByNumber.Where(x => !String.IsNullOrWhiteSpace(x.word));
var asDict = whitespacesRemoved.ToDictionary(p => p.word, p => p.number);
return asDict;
}
private void stop(object sender, RoutedEventArgs e)
{
this.Close();
}
}
您的代码的哪一部分花费了如此长的时间以至于进度条会很有用?如果文件的读取、评估或UI中的显示?我试图在count()中使用它,但不要使
count()
为静态,您可以访问ProgressBar对象。请注意:*