Report post

Are you sure you want to report the post shown below? This will send an email to the ATVO administrators. Please include a short reason for reporting.

Users reporting for no reason may be locked out.


Post

Posted by Nick Thissen
on
You can get the text in an Input from its Text property.

If you put a converter for the Override Fontcolor (or any color), you have to return an actual Color and not just the hex string. You can convert from hex string to color using ColorConverter.

Example:
using System;
using ATVO.ThemesSDK;
using ATVO.ThemeEditor.ThemeModels;
using ATVO.ThemeEditor.Scripting.DotNET;
using System.Windows.Media;

namespace Scripts
{
public class OverrideColor : IScript
{
public object Execute(ThemeContentItem item, object value, string parameter, ISimulation sim)
{
var input = item.Theme.ControlInputs.Find("Input1");
var hex = input.Text;

if (string.IsNullOrWhiteSpace(hex))
return Colors.White;
return (Color) ColorConverter.ConvertFromString(hex);
}
}
}


Instead of hex this also supports many other values like RGB "(255,0,125)" or even names ("Red", "Blue", etc)

Note this will throw an error if the string value (hex) is not a valid color. I don't know any way to avoid that, typically you just catch the error when it happens and return something sensible.