添加项目文件。
This commit is contained in:
201
WPFWCSDemo/ViewModels/LogViewModel.cs
Normal file
201
WPFWCSDemo/ViewModels/LogViewModel.cs
Normal file
@@ -0,0 +1,201 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection.Metadata;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using System.Reactive.Linq;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
|
||||
namespace WPFWCSDemo.ViewModels
|
||||
{
|
||||
public partial class LogViewModel : ObservableObject
|
||||
{
|
||||
public LogViewModel()
|
||||
{
|
||||
//更新(当日)日志
|
||||
//Task.Run(() =>
|
||||
//{
|
||||
|
||||
// while (true)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// //获取存储日志的字符串
|
||||
// Content = File.ReadAllText(dirPath + @"logs\2024-10-09\Debug.txt");
|
||||
|
||||
// Task.Delay(1000);
|
||||
// }
|
||||
// catch (Exception)
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// }
|
||||
//});
|
||||
|
||||
}
|
||||
|
||||
|
||||
//存放日志文件路径
|
||||
//readonly string dirPath = @"E:\VSProject\WPF\FT472\WPFWCSDemo\bin\Debug\net6.0-windows\";
|
||||
|
||||
//[ObservableProperty]
|
||||
//string _content;
|
||||
|
||||
|
||||
/*
|
||||
#region 下拉框内容初始化
|
||||
//月份选择下拉框
|
||||
cbxMonth.Items.Clear();
|
||||
cbxMonth.Items.Add("-请选择月份-");
|
||||
cbxMonth.Items.Add("一月");
|
||||
cbxMonth.Items.Add("二月");
|
||||
cbxMonth.Items.Add("三月");
|
||||
cbxMonth.Items.Add("四月");
|
||||
cbxMonth.Items.Add("五月");
|
||||
cbxMonth.Items.Add("六月");
|
||||
cbxMonth.Items.Add("七月");
|
||||
cbxMonth.Items.Add("八月");
|
||||
cbxMonth.Items.Add("九月");
|
||||
cbxMonth.Items.Add("十月");
|
||||
cbxMonth.Items.Add("十一月");
|
||||
cbxMonth.Items.Add("十二月");
|
||||
|
||||
//下拉框选择初始化
|
||||
cbxMonth.SelectedIndex = 0;
|
||||
cbxLogName.SelectedIndex = 0;
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 实时日志【内容更新】事件触发
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void txtLog_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
//【搜索】按钮打开当天日志时,令滚动条位于最下
|
||||
txtLog.SelectionStart = txtLog.Text.Length;
|
||||
txtLog.ScrollToCaret();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 【月份】下拉框的值改变事件--→【日志】名称选择的下拉框也随之变化
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void cbxMonth_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
//日志文件名选择下拉框
|
||||
cbxLogName.Items.Clear();
|
||||
//获取存放日志文件夹所有文件全路径
|
||||
try
|
||||
{
|
||||
//尝试获取路径,否则报错
|
||||
string[] name = Directory.GetDirectories(dirPath);
|
||||
//添加到下拉框
|
||||
cbxLogName.Items.Add("-请选择日志-");
|
||||
for (int i = 0; i < name.Length; i++)
|
||||
{
|
||||
//从文件名筛选符合月份条件的项
|
||||
if (Path.GetFileNameWithoutExtension(name[i]).Contains("-" + cbxMonth.SelectedIndex.ToString("00") + "-"))
|
||||
{
|
||||
//添加当月日志的文件名
|
||||
cbxLogName.Items.Add(Path.GetFileNameWithoutExtension(name[i]));
|
||||
}
|
||||
|
||||
}
|
||||
cbxLogName.SelectedIndex = 0;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 【搜索】按钮
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (cbxMonth.SelectedIndex != 0 && cbxLogName.SelectedIndex == 0)
|
||||
{
|
||||
MessageBox.Show("请选择要查找历史日志的时间!");
|
||||
return;
|
||||
}
|
||||
if (cbxMonth.SelectedIndex == 0 && cbxLogName.SelectedIndex == 0) return;
|
||||
try
|
||||
{
|
||||
//判断选择的日志文件日期是否为当天
|
||||
if (cbxLogName.Text.Equals(DateTime.Now.ToString("yyyy-MM-dd")))
|
||||
{
|
||||
//显示实时日志
|
||||
txtLog.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cbxMonth.SelectedIndex == 0 && cbxLogName.SelectedIndex == 0) return;
|
||||
//获取选中的路径文件内容
|
||||
txtLogHistory.Text = File.ReadAllText(dirPath + cbxLogName.Text + @"/Info.log", Encoding.Default);
|
||||
//隐藏实时日志---显示历史日志
|
||||
txtLog.Visible = false;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 【取消/刷新】页面按钮
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
//【搜索】按钮打开当天日志时,令滚动条位于最下,相比根据【内容更新】事件触发此效果可能存在的时间间隔有观感提升
|
||||
txtLog.SelectionStart = txtLog.Text.Length;
|
||||
txtLog.ScrollToCaret();
|
||||
//显示实时日志
|
||||
txtLog.Visible = true;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 打开当日的日志文档
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btnOpenFile_Click(object sender, EventArgs e)
|
||||
{
|
||||
//打开当日的日志文档
|
||||
//Process.Start("notepad", dirPath + DateTime.Now.ToString("yyyy-MM-dd") + "/Info.log");
|
||||
if (Directory.Exists(dirPath + DateTime.Now.ToString("yyyy-MM-dd")))
|
||||
{
|
||||
Process.Start(dirPath + DateTime.Now.ToString("yyyy-MM-dd"));
|
||||
}
|
||||
else
|
||||
{
|
||||
Process.Start(dirPath);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user