Возможно ли использовать XmlDataProvider с d: DataContext? - PullRequest
9 голосов
/ 19 мая 2010

Мне интересно, как я могу использовать XmlDataProvider для предоставления произвольных данных XML для использования во время разработки в Blend 4. Я пробовал несколько способов указать его, но Blend не подхватывает его. Мои элементы пользовательского интерфейса остаются пустыми.

Я понимаю, что у Blend есть функциональные возможности для генерации и управления образцами данных, но для некоторых из простых пользовательских элементов управления, которые у меня есть, много трудностей. Я ищу что-то, что работает внутри файла Xaml (т.е. неявная схема) без генерации большого количества дополнительных файлов. Размещение XmlDataProvider в ресурсах, а затем выполнение d: DataContext для ссылки на него выглядит хорошим способом, но я не могу заставить его работать.

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

Как я могу построить модель в чистом Xaml, к которой я могу привязаться во время разработки?

1 Ответ

0 голосов
/ 26 апреля 2012

Если я вас правильно понял,

Обычно я так поступаю, но не могу понять, насколько сложна ваша модель, но этот способ может сработать для вас во время разработки, чтобы протестировать конкретную таблицу данных или что-то подобное.

<Window.Resources>
        <XmlDataProvider x:Key="People" XPath="/IDs" >
            <x:XData>
                <IDs>
                    <ID name="A2231" />
                    <ID name="A3dsa" />
                    <ID name="Ad21d" />
                    <ID name="Ad231" />
                </IDs>
            </x:XData>

        </XmlDataProvider>
</Window.Resources>



  <StackPanel Grid.Row="0" Grid.Column="1" DataContext="{StaticResource People}">
            <Label Width="200" Height="200" Content="{Binding XPath=ID/@name}"/>
  </StackPanel>

Ты это имел ввиду? Если нет, пожалуйста, опишите подробнее.

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