代码拉取完成,页面将自动刷新
using System;
using System.IO.Packaging;
using System.Collections.Generic;
using System.Reflection;
using System.Windows;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Navigation;
namespace NodeEditor {
public static class Extensions {
public static Color GetUniqueColor(int integer) {
Random rnd = new Random(integer);
int hash = rnd.Next();
double iterator = Math.Abs((double)hash / (double)int.MaxValue);
byte high = 235;
byte low = 100;
if (iterator < 1.0 / 6.0) {
return Color.FromRgb(high, (byte)((iterator * 6.0) * high), low);
} else if (iterator < 2.0 / 6.0) {
return Color.FromRgb((byte)((2.0 - iterator * 6.0) * high), high, low);
} else if (iterator < 3.0 / 6.0) {
return Color.FromRgb(low, high, (byte)((iterator * 2.0) * high));
} else if (iterator < 4.0 / 6.0) {
return Color.FromRgb(low, (byte)((4.0 - iterator * 6.0) * high), high);
} else if (iterator < 5.0 / 6.0) {
return Color.FromRgb((byte)((iterator * 6.0 / 5.0) * high), low, high);
} else {
return Color.FromRgb(high, low, (byte)((6.0 - iterator * 6.0) * high));
}
}
public static void LoadViewFromUri(this UIElement userControl, string baseUri) {
try {
var resourceLocater = new Uri(baseUri, UriKind.Relative);
var exprCa = (PackagePart)typeof(Application).GetMethod("GetResourceOrContentPart", BindingFlags.NonPublic | BindingFlags.Static).Invoke(null, new object[] { resourceLocater });
var stream = exprCa.GetStream();
var uri = new Uri((Uri)typeof(BaseUriHelper).GetProperty("PackAppBaseUri", BindingFlags.Static | BindingFlags.NonPublic).GetValue(null, null), resourceLocater);
var parserContext = new ParserContext {
BaseUri = uri
};
typeof(XamlReader).GetMethod("LoadBaml", BindingFlags.NonPublic | BindingFlags.Static).Invoke(null, new object[] { stream, parserContext, userControl, true });
}
catch (Exception exception) {
Console.WriteLine("Initialize Component Error : " + exception);
}
}
public static bool AddVar(List<VarData> varList, string type, string name, out VarData varData) {
foreach (VarData v in varList) {
if (v.key == name) {
varData = null;
return false;
}
}
varData = new VarData {
type = type,
key = name
};
varList.Add(varData);
return true;
}
public static void DelVar(List<VarData> varList, string name) {
for (int i = 0; i < varList.Count; i++) {
if (varList[i].key == name) {
varList.RemoveAt(i);
return;
}
}
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。