使用 WPF 时的数据绑定问题

2024-01-23

我一直在努力学习Visual C#。最近,我一直在关注WPF。这是我一直在制作的教程的链接:

http://msdn.microsoft.com/en-us/library/vstudio/ms752299(v=vs.110).aspx http://msdn.microsoft.com/en-us/library/vstudio/ms752299%28v=vs.110%29.aspx

如果您选择某个人的姓名并单击“查看”按钮,应用程序应该允许您查看该人的开支。不幸的是,费用没有显示。我不断收到此错误消息:

System.Windows.Data Error: 50 : XmlDataProvider has inline XML that does not explicitly set its XmlNamespace (xmlns="").

我认为 xmlns 需要留空,以便应用程序可以在 XAML 中向下导航。这是我制作的网格资源的代码:

<Grid.Resources>
            <!-- Expense Report Data -->
            <XmlDataProvider x:Key="ExpenseDataSource" XPath="Expenses">
                <x:XData>
                    <Expenses xmlns="">
                        <Person Name="Mike" Department="Legal">
                            <Expense ExpenseType="Lunch" ExpenseAmount="50" />
                            <Expense ExpenseType="Transportation" ExpenseAmount="50" />
                        </Person>
                        <Person Name="Lisa" Department="Marketing">
                            <Expense ExpenseType="Document Printing" ExpenseAmount="50" />
                            <Expense ExpenseType="Gift" ExpenseAmount="125" />
                        </Person>
                        <Person Name="John" Department="Engineering">
                            <Expense ExpenseType="Magazine Subscription" ExpenseAmount="50" />
                            <Expense ExpenseType="New Machine" ExpenseAmount="600" />
                            <Expense ExpenseType="Software" ExpenseAmount="500" />
                        </Person>
                        <Person Name="Mary" Department="Finance">
                            <Expense ExpenseType="Dinner" ExpenseAmount="100" />
                        </Person>
                    </Expenses>
                </x:XData>
            </XmlDataProvider>

            <!-- Name item template -->
            <DataTemplate x:Key="nameItemTemplate">
                <Label Content="{Binding XPath=@Name}"/>
            </DataTemplate>

</Grid.Resources>

谁能给我任何关于出了什么问题的提示吗?

Thanks


事实证明问题不在于网格资源!我忘记在 DataGrid 中设置 ItemsSource。在我的 ExpenseReportPage.xaml 文件中,我输入了以下内容:

<Grid Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="2" VerticalAlignment="Top"
                  HorizontalAlignment="Left">
                <!-- Expense type and Amount table -->
                <DataGrid ItemsSource="{Binding XPath=Expense}" ColumnHeaderStyle="{StaticResource columnHeaderStyle}" 
                          AutoGenerateColumns="False" RowHeaderWidth="0">
                    <DataGrid.Columns>
                        <DataGridTextColumn Header="Expense Type" Binding="{Binding XPath=@ExpenseType}" />
                        <DataGridTextColumn Header="Amount" Binding="{Binding XPath=@ExpenseAmount}"/>
                    </DataGrid.Columns>
                </DataGrid>
</Grid>

设置ItemsSource后,数据正​​常显示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 WPF 时的数据绑定问题 的相关文章

随机推荐

  • 弹性搜索索引和关系数据库中的索引有什么区别?

    似乎在弹性搜索中 您将在集合上定义索引 而在关系数据库中 您将在列上定义索引 如果整个集合都建立了索引 为什么还需要定义它 不幸的是 索引 一词在 ES 和关系数据库中的含义略有不同 编辑 非常 因为它们针对不同的用例进行了优化 数据库中的
  • Python UnicodeDecodeError:“utf8”编解码器无法解码字节...意外的代码字节

    Python 新手构建他的第一个 Web 应用程序的旅程 应用程序链接 http contractpy appspot com http contractpy appspot com 这只是一个实验性应用程序 遵循a的建议堆栈溢出用户 ht
  • 为什么从 ControllerBase 与 Controller for ASP.NET Core Web API 派生?

    我正在按照本教程创建 ASP NET Core Web API 并且在添加控制器的部分中 本教程提供了用于替换控制器模板代码的代码 真正引起我注意的事情之一是在模板代码中 我得到 TodoController Controller 然后在我
  • 使用按钮打开另一个模块表单视图

    我正在尝试打开另一个模型表单视图 但收到错误外部 ID 未找到 在 py文件中 class ru assignments models Model name ru assignments class ru assignments sub m
  • 0022 和 022 之间的 umask 区别 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 umask 和 umask 有什么区别吗0022 and 022 我想将我的 umask 更改为022 我该怎么做 umask 没有区别0022和 u
  • 如何在 Azure 移动服务部署上使用最新的 npm

    我当前使用的 Azure 移动服务映像已锁定到 npm 版本 1 2 30 映像上安装了最新的 npm 版本 位于 Program Files x86 npm 下 但是 npm 被锁定到版本 1 2 30 因为它是与 node js 一起安
  • 当我想要存储从下拉列表中选择或用户输入的值时,数据库设计的最佳实践是什么?

    我正在尝试找到设计数据库的最佳方法 以便允许出现以下情况 向用户呈现大学的下拉列表 例如 用户从列表中选择他 她的大学 如果存在 如果该大学不存在 他应该在文本框中输入自己的大学 有点像其他 例如 考虑到我可能想使用大学 ID 进行排序 可
  • Tensorflowdynamic_rnn参数含义

    我正在努力理解神秘的 RNN 文档 任何有关以下内容的帮助将不胜感激 tf nn dynamic rnn cell inputs sequence length None initial state None dtype None para
  • 有构建 Xcode 4 插件的文档吗?

    最近我注意到几个项目github http github com通过插件扩展 Xcode 4 的功能 两个项目为例 olemoritz http twitter com olemoritz 迷你Xcode https github com
  • 当时间更改或结束时,Firefox 会在视频上触发“暂停”事件

    我在网站上嵌入了一个视频 但我在 Firefox 中遇到了一些奇怪的行为 每次我通过单击时间滑块更改播放位置时 pause事件被触发 同样 每次视频结束时pause事件被触发 甚至在ended event 我首先想知道我编写的一些JS是否有
  • 是否可以使用标准 android api 在屏幕上移动组件?

    我想制作一个android用户界面 允许用户移动添加components widgets通过选择它们然后拖动它们来在屏幕上移动 使用标准的 android api 可以吗 是的 这取决于您想要实现的目标 可以办到using标准 API 但此
  • 我需要打开哪些防火墙端口才能允许 Sinch 和 WebRTC 工作?

    Sinch 在互联网和各种 NAT 网络上运行得非常好 但我刚刚尝试了企业防火墙后面的设备 突然我们无法拨打电话 更具体地说 设备可以互相呼叫 但是当调用 onCallEstablished 时 音频流已连接 呼叫就会中断 听不到来自远端的
  • 防止渲染阻塞 CSS

    我有一个从 CDN 引用 Bootstrap 4 的网页 在里面head在我的 HTML 页面中 我有以下内容 这是我引用的唯一 CSS 然而 当我运行 Google 的 PageSpeed 工具时 出现以下错误 消除首屏内容中阻碍渲染的
  • 如何使用 JavaScript 按钮删除 gridview 上的一行并保留在同一页面上

    我正在通过 gridview 显示一组记录 并且edit and delete旁边的按钮 我在记录删除部分遇到问题 我想要的行为如下 用户单击按钮 调用 JavaScript 验证函数 单击按钮后记录将被删除 但用户与其余记录仍保留在同一页
  • 如何以编程方式操作 Windows 桌面图标位置?

    几年前 我天真地尝试编写一个小应用程序来保存我战术性放置的桌面图标 因为当某些事件重置它们时 我厌倦了将它们拖回原来的位置 在花费了太多时间未能找到一种方法来查询 更不用说保存和重置 我的图标的桌面位置后 我放弃了 有人知道 Windows
  • 如何使用 Rust 从 stdin 创建高效的字符迭代器?

    现在既然Read chars https doc rust lang org nightly std io trait Read html method chars迭代器已被正式弃用 https github com rust lang r
  • 如何从字符串中删除所有子字符串

    如何从字符串中删除该模式的所有实例 string str red tuna blue tuna black tuna one tuna string pattern tuna 从字符串中删除该模式的所有实例 include
  • java中抽象类和接口的最佳实践

    因此 您已经有了一个接口和一个实现接口中方法的子集的抽象类 您还拥有一些继承抽象类并提供抽象类未提供的方法的实现的类 那么这里的最佳实践是什么 我正在谈论这样的问题 1 抽象类应该实现接口还是它的子类 每节课都应该吗 在我看来 抽象类就应该
  • 将 MS Word 表格单元格提取为图像?

    我需要将表格单元格提取为图像 单元格可能包含混合内容 文本 图像 我需要将其合并为单个图像 我能够获得核心文本 但我不知道如何获得图像 文本 不确定 Apac POI 是否有帮助 之前有人做过类似的事情吗 public static voi
  • 使用 WPF 时的数据绑定问题

    我一直在努力学习Visual C 最近 我一直在关注WPF 这是我一直在制作的教程的链接 http msdn microsoft com en us library vstudio ms752299 v vs 110 aspx http m