private void InvokeRenderItem(ListBoxDataRow dataRow, object item)
        {
            var value   = item.GetProperty(ValueProperty);
            var display = item.GetProperty(DisplayProperty);

            var itemUpdateArgs = new RenderItemRoutedEventArgs(OnRenderItemEvent)
            {
                Item    = item,
                Value   = value,
                Display = display
            };

            RaiseEvent(itemUpdateArgs);

            dataRow.Item    = item;
            dataRow.Value   = itemUpdateArgs.Value;
            dataRow.Display = itemUpdateArgs.Display;
        }
        private void OnRenderItemHandler(object sender, RenderItemRoutedEventArgs e)
        {
            dynamic arguments = null;

            this.InvokeScript(OnRenderItem, args =>
            {
                args.Item    = e.Item;
                args.Value   = e.Value;
                args.Display = e.Display;
                arguments    = args;
            });

            if (arguments != null)
            {
                e.Item    = arguments.Item;
                e.Value   = arguments.Value;
                e.Display = arguments.Display;
            }
        }