Как извлечь данные из объекта Silverlight DataContext - PullRequest
1 голос
/ 21 июля 2011

У меня есть приложение Silverlight, которое представляет собой набор полей формы и кнопок.

Я создал заглушку метода, которая обрабатывает событие click в xaml.cs.Когда я проверяю отправителя во время отладки, я вижу, что базовый тип - это TextBlock, а в объекте DataContext внутри этого текстового блока я вижу свойства моего пользовательского типа.Одним из них является GUID - это тип отправителя, поэтому я приведу к TextBlock и вижу DataContext, но я не уверен, как получить значение поля моего типа из этого объекта:

private void someTextField_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
    {

        var dataContext = (TextBlock) sender;
        var assetGUID = dataContext.DataContext.  /
        // intellsense does not show any fields, indexers, or getters - Just says "Get or Set datacontext fields in a datacontext".

    }

Как уже говорилось, если я отлаживаю и помещаю часы на Отправителя, углубляюсь на два уровня и вижу поля моих объектов.

Спасибо.

1 Ответ

4 голосов
/ 21 июля 2011

если вы видите в режиме отладки, что DataContext TextBlock - это ваш необходимый объект, тогда вам просто нужно привести его к вашему объекту.

private void someTextField_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
    {

        var dataContext = (TextBlock) sender;
        var assetGUID = ((YourObject)dataContext.DataContext).getGuid()  /
        // intellsense does not show any fields, indexers, or getters - Just says "Get or Set datacontext fields in a datacontext".

    }

Это нужно сделать, потому что DataContextопределяется с возвращаемым значением Object ( DataContext )

Это то, что вам нужно?

BR,

TJ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...