Установка настраиваемого свойства на странице WPF / Silverlight

Похоже, это должно быть просто. У меня есть страница , объявленная в XAML обычным способом (то есть с «Добавить новый элемент ...»), и у нее есть настраиваемое свойство. Я хотел бы установить это свойство в XAML, связанном со страницей.

Попытка сделать это так же, как я бы установил любое другое свойство, не работает по причинам, которые я понимаю, но не знаю, как работать круглый. Так что у нас есть что-то конкретное, чтобы поговорить, вот некоторый (недействительный) XAML. Я' « http://schemas.microsoft.com/winfx/2006/xaml/presentation ». Строка 4, позиция 7.

Теперь я знаю, почему это не удается: элемент имеет тип Страница , а Страница не имеет свойства с именем MyProperty ]. Это объявлено только в TestPage ... которое указывается атрибутом x: Class , но не самим элементом. Насколько мне известно, эта конфигурация требуется для модели обработки XAML (то есть для интеграции с Visual Studio и т. Д.).

Я подозреваю, что мог бы справиться с этим с помощью свойства зависимости, но это кажется немного похоже на перебор. Я также мог бы использовать существующее свойство (например, DataContext ), а затем скопировать значение в настраиваемое свойство в коде позже, но это было бы довольно некрасиво.

Выше приведен пример WPF, но я подозреваю, что те же ответы применимы и в Silverlight. Меня интересуют оба варианта - поэтому, если вы опубликуете ответ, который, как вы знаете, будет работать в одном, но не в другом, я был бы признателен, если бы вы указали это в ответе :)

Я готовлюсь сам, когда кто-то публикует совершенно тривиальное решение ...

41
задан Jon Skeet 7 September 2010 в 10:27
поделиться