public static IEnumerable <WinceComponent> FindElements(WinceApplication app, string strategy, string value, string startElementID)
        {
            IEnumerable <WinceComponent> elements = null;
            var components = app.CurrentWindow.Elements();

            if (string.IsNullOrEmpty(value))
            {
                throw new ArgumentException("value");
            }

            switch (strategy)
            {
            case "css selector":
                var ops  = new NodeOps();
                var eval = new Evaluator <WinceComponent>(ops);
                elements = eval.Evaluate(value, components);
                break;

            case "tag name":
                elements = app.CurrentWindow.ListElements(c => c.TagName() == value);
                break;

            case "link text":
                elements = app.CurrentWindow.ListElements(e => {
                    var txt = GetElementText(e);
                    return(txt == null ? false : txt == value);
                });
                break;

            case "partial link text":
                elements = app.CurrentWindow.ListElements(e =>
                {
                    var txt = GetElementText(e);
                    return(txt == null ? false : txt.Contains(value));
                });
                break;

            default:
                throw new ArgumentException("strategy");
            }
            return(elements);
        }
 public void Init()
 {
     application = WinceApplicationFactory.StartFromTypeInApplication <Form1>();
 }