Adjust project structure

This commit is contained in:
NaBian committed 2019-04-05 22:23:19 +08:00
1 parent d38912f5da
commit e3c436f939
2111 files changed
+14028 -47199

No files matched your search

@@ -0,0 +1,21 @@
using System;
using System.Globalization;
using System.Windows.Data;
using System.Windows.Media;
using HandyControl.Tools;
namespace HandyControlDemo.Tools.Converter
{
public class String2BrushConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return value is string str ? ResourceHelper.GetResource<Brush>(str) : default(Brush);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
@@ -0,0 +1,45 @@
using System;
using System.Globalization;
using System.Text;
using System.Windows.Data;
namespace HandyControlDemo.Tools.Converter
{
public class StringRepeatConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is string strValue)
{
var builder = new StringBuilder();
int num;
if (parameter is string numStr)
{
if (!int.TryParse(numStr, out num))
{
return strValue;
}
}
else if(parameter is int intValue)
{
num = intValue;
}
else
{
return strValue;
}
for (var i = 0; i < num; i++)
{
builder.Append(strValue);
}
return builder.ToString();
}
return string.Empty;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
@@ -0,0 +1,22 @@
using System;
namespace HandyControlDemo.Tools
{
public class AssemblyHelper
{
private static readonly string NameSpaceStr = typeof(AssemblyHelper).Assembly.GetName().Name;
public static object CreateInternalInstance(string className)
{
try
{
var type = Type.GetType($"{NameSpaceStr}.{className}");
return type == null ? null : Activator.CreateInstance(type);
}
catch
{
return null;
}
}
}
}
@@ -0,0 +1,27 @@
#if !Core
using System.Linq;
using System.Management;
using HandyControl.Data;
namespace HandyControlDemo.Tools
{
public class CommonHelper
{
public static SystemVersionInfo GetSystemVersionInfo()
{
var managementClass = new ManagementClass("Win32_OperatingSystem");
var instances = managementClass.GetInstances();
foreach (var instance in instances)
{
if (instance["Version"] is string version)
{
var nums = version.Split('.').Select(int.Parse).ToList();
var info = new SystemVersionInfo(nums[0], nums[1], nums[2]);
return info;
}
}
return default(SystemVersionInfo);
}
}
}
#endif
@@ -0,0 +1,12 @@
using System.Runtime.InteropServices;
namespace HandyControlDemo.Tools
{
internal class ExternDllHelper
{
private const string Winmm = "winmm.dll";
[DllImport(Winmm, EntryPoint = "mciSendString", CharSet = CharSet.Auto)]
public static extern int MciSendString(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback);
}
}