可以在d:DataContext中使用XmlDataProvider吗?

sco*_*obi 9 wpf xaml

我想知道如何使用XmlDataProvider为Blend 4中的设计时使用提供任意XML数据.我已经尝试了几种方法来指定它,但Blend没有提取它.我的UI元素最终空白.

我意识到Blend具有生成和管理示例数据的功能,但对于我所拥有的一些简单用户控件来说,这是一个很大的开销.我正在寻找在Xaml文件中内联工作的东西(即隐式模式),而不会生成大量额外文件.将XmlDataProvider放入资源然后执行ad:DataContext来引用它似乎是一个很好的方法,但我不能让它工作.

我无法使用任何viewmodel类(例如ad:DesignData或使用ObjectDataProvider),因为它们不会公开所有属性的setter.如果它们是只读的,则无法使用设计时数据设置这些属性.

如何在纯Xaml中构建一个我可以在设计时绑定的模型?

Tar*_*lil 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>
Run Code Online (Sandbox Code Playgroud)

这是你的意思吗 ?如果没有,请详细说明。