Объявите стили для неактивных и активных состояний:
.active {
color: black;
}
.inactive {
color: #909090;
}
Добавьте Javascript для обработки изменения состояния:
function toggleText(el)
{
var v = el.value;
//Remove text to allow editing
if(v=="Default text") {
el.value = "";
el.className = "active";
}
else {
//Remove whitespace
if(v.indexOf(" ")!=-1) {
split = v.split(" ").join("");
v = split;
}
//Change to inactive state
if(v=="") {
el.value = "Default text";
el.className = "inactive";
}
}
}
Добавьте поле ввода со значением по умолчанию, набор классов inactive
и обработчики Javascript, указывающие на функцию toggleText()
(вы можете использовать прослушиватели событий , чтобы сделать это, если хотите)
Посмотрите на логические механизмы, которые работают на платформе .net, например prolog.net или p # . Должно быть относительно легко создать приложение C #, которое взаимодействует с одним из них. В этих примерах используется пролог, поэтому вы можете воспользоваться преимуществами другой работы, проделанной в прологе другими людьми.
Скорее всего, вам придется взаимодействовать с неуправляемой библиотекой. Однако это не должно быть слишком сложно для хорошо документированной библиотеки. В статье Википедии по IPL перечислены несколько реализаций, на которые вы, возможно, захотите взглянуть.
Я нашел этот сайт очень хорошим. У них есть книги и полный код на C #. http://www.heatonresearch.com/
Для Prolog у вас есть P # и Prolog.Net
Посмотрите здесь Интеграция Prolog с C #