c# - 如何在 XAML 中创建工作模板?
问题描述
我有 EpaxnseItHome.xaml 的下一个代码:
<ListBox Name="peopleListBox" Grid.Column="1" Grid.Row="2"
ItemsSource="{Binding Source={StaticResource ExpenseDataSource}, XPath=Person}"
ItemTemplate="{StaticResource nameItemTemplate}">
</ListBox>
<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>
</Expenses>
</x:XData>
</XmlDataProvider>
<!-- Name item template -->
<DataTemplate x:Key="nameItemTemplate">
<Label Content="{Binding XPath=@Name}"/>
</DataTemplate>
</Grid.Resources>
标签具有对模板的引用,<Grid.Resources>
但在启动应用程序时,它返回一个错误,无法找到名称为“nameItemTemplate”的资源。此示例取自:https ://docs.microsoft.com/en-us/dotnet/framework/wpf/getting-started/walkthrough-my-first-wpf-desktop-application?fbclid=IwAR3SO_BtOF1W6IO9Ii9uytpmmwHIpRXl8GXhtlkLGZj6k4k926w2v50aSrc#see-also
解决方案
终于明白了,新的模板应该在使用前声明。所以,为了解决它,我只是换<Grid.Resource>...</Grid.Resourse>
了<ListBox>...<...>
.
推荐阅读
- google-cloud-platform - 使用参数在 Google Cloud Conductor 中触发 DAG
- doxygen - 不要从原始源显示中删除 doxygen 标记注释
- java - 如何使用 ibatis 将 ARRAY 传递给存储过程
- d3.js - 文本元素的 D3 样式
- sql - 使用 SQL 案例语句更改每个员工和每个日期的输出
- r - 根据 R 中的列将数据帧分成两半
- python - 如何使用 python 运算符在气流 dag 文件中使用 xCom?
- snaplogic - 为什么路由到错误输出的文档在通过 ULTRA 任务使用时会导致管道失败?
- javascript - 如何将变化推送到属性 href
- git - Git:从命令行使用 merge=ours 策略