Окно загружает некоторую динамику c Xaml, которая преобразуется с помощью Xslt для отображения некоторого содержимого из источника данных. Поскольку Xaml является динамическим c, я не могу связывать события до тех пор, пока он не загружен - само связывание в порядке, но я изо всех сил пытаюсь найти способ описать данные событий в исходном Xaml.
Давайте скажем, мой источник выглядит следующим образом:
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<xsl:variable name="myValue" select="/root/System/CustomerFirstName"/>
<Label ##MyClick="method='myMethod', aParameter='$myValue', anotherParameter='test'"##>
<xsl:value-of select="/root/System/CustomerFirstName" />
</Label>
</Grid>
Код пропускает его через процессор Xslt, который отлично работает, если бит между ## удален. Я понимаю, почему ему не нравится атрибут MyClick, поскольку он не определен. Я попытался добавить присоединенное свойство , но парсер Xslt, похоже, об этом не знает (возможно, мне не хватает подключения). Я попытался добавить объект расширения, но синтаксический анализатор Xslt хочет вызывать метод при его синтаксическом анализе, а не обрабатывать этот бит, когда пользователь нажимает на элемент пользовательского интерфейса.
Мне нужен синтаксический анализатор Xslt для препроцессировать, но оставить в моем пользовательском теге так, чтобы любой контент обрабатывался:
<Label MyClick="method='myMethod', aParameter='Geoff', anotherParameter='test'"> [etc]
Фактический синтаксис внутреннего текста MyClick не важен, поскольку после завершения Xslt я могу обходить сгенерированный Xaml, чтобы найти любые узлы с определенным MyClick и выполнить мою собственную обработку содержимого - в этом случае привязать обработчик события Click, а затем что-то делать с переданными параметрами.
Возможно, вместо определения атрибутов используется другой способ. мое собственное поведение, это вместо подэлементов внутри элемента Label. Я могу работать с любым из них, например:
<Label><MyClick><Method>wibble</Method><Parameter Name="name" Value="{$myValue}"></Parameter></MyClick></Label>
... такие вещи
Идеи очень ценятся.