2010-05-19 4 views
8

Мне интересно, как я могу использовать XmlDataProvider для предоставления произвольных данных XML для использования времени разработки в Blend 4. Я пробовал несколько способов указать его, но Blend не подбирает его. Элементы моего пользовательского интерфейса заканчиваются пустым.Возможно использование XmlDataProvider с d: DataContext?

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

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

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

+0

какая часть (-ы) данных образца «много накладных расходов»? –

+0

Я не использовал данные образца в течение длительного времени, но в последнее время я помню, что он создает специальные именованные папки и добавляет файлы. – scobi

+0

да, но насколько я понимаю, эти файлы используются только во время разработки и НЕ в фактической сборке –

ответ

0

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

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

<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> 

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

Смежные вопросы