草庐IT

关于 xml:如何在列表框上应用数据模板

codeneng 2023-03-28 原文

how to apply data template on listbox

我有一个数据模板,并试图将它应用到一个列表框,我在模板上有文本框、标签和一个按钮,但它没有显示在列表框上,我还没有任何数据绑定,但它仍然存在必须显示文本框、标签、按钮,但它没有显示,
这是用作资源的数据模板的代码

1
2
3
4
5
6
7
8
9
10
11
<Window.Resources>
            <DataTemplate x:Key="tasktemplate1">
                <Canvas Height="50" Width="850" Background="lightgray">
                    <Label   Height="30" Width="170" Canvas.Top="10" Canvas.Left="150" Background="LightGray">
                    </Label>
                    <TextBox Height="30" Width="60" Canvas.Top="10" Canvas.Left="370" Background="Black"></TextBox>
                    <Label Canvas.Left="500" Canvas.Top="10">$</Label>
                    <Button Click="deletebuttonclick" Canvas.Top="12" Height="10" Width="30" Canvas.Left="600"></Button>
                </Canvas>
            </DataTemplate>
        </Window.Resources>

和我的列表框的代码

1
2
3
4
5
6
7
8
9
<TabItem>
        <Canvas Height="700" Width="850">
            <ListBox ItemTemplate="{StaticResource tasktemplate1}" ItemsSource="{Binding}" x:Name="listBox" Height="700" Width="850">
            </ListBox>
            <Label Canvas.Top="-18" Canvas.Left="185">Select Task</Label>
            <Label Canvas.Top="-18" Canvas.Left="377" RenderTransformOrigin="0.58,0.462">Enter Bill Rates</Label>
            <Button Canvas.Left="39" Canvas.Top="575" Width="139">Click to add the task</Button>
        </Canvas>
    </TabItem>

我哪里出错了?任何帮助,谢谢

  • 您没有正确设置列表框的 ItemsSource,因此列表不包含任何项目,因此未应用数据模板..,将 ItemSource 设置为项目列表
  • bt 为什么它不显示空标签和文本框。?


DataTemplate 用于表示 listBoxItems 的视觉布局。但是,ItemsSource 集合为空或计数为 0,(假设因为您将其设置为仅绑定)因此不会生成任何项目并显示在您的列表框中。您需要传递带有一些对象的 ItemsSource,以便将 DataTemplate 应用于 ListBoxItems.

为了测试,您可以在 XAML 本身中定义 ItemsSource:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<Canvas Height="700" Width="850">
    <Canvas.Resources>
        <ObjectDataProvider x:Key="EnumerableRange"
            xmlns:sys="clr-namespace:System;assembly=mscorlib"
            xmlns:linq="clr-namespace:System.Linq;assembly=System.Core"
            ObjectType="{x:Type linq:Enumerable}" MethodName="Range">
            <ObjectDataProvider.MethodParameters>
                <sys:Int32>1</sys:Int32>
                <sys:Int32>10</sys:Int32>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
    </Canvas.Resources>
    <ListBox ItemTemplate="{StaticResource tasktemplate1}"
             ItemsSource="{Binding Source={StaticResource EnumerableRange}}"
             x:Name="listBox" Height="700" Width="850"/>
     ......
</Canvas>

在上面的示例中,我基本上提供了一个包含 10 个项目的整数集合作为 ItemsSource。因此,您将看到 10 个模板。如果您想查看更多项目,请在资源 EnumerableRange.

中将数字从 10 更新为其他值

  • 如果我想要它是动态的,意味着它取决于外部的 xml 文件,它有一定数量的任务,假设有 11 个任务。
  • 为此,您必须在后面的代码中创建集合并将 listBox 的 ItemsSource 设置为该集合。
  • 我被困在我的标签上,因为我希望显示任务,如果你能帮助我,请帮助我。
  • 我的 xml 存储位置是 store.tymesheet.com/templates/Software-Developer.xml
  • 您能否针对此 XML 的要求单独提出一个问题?一些快照会有所帮助。你想要的样子。从您的评论来看,这个 XML 的外观并不直观。向单独的问题添加更多详细信息。
  • 好的,我可以给你一个完整的场景,我会添加一个新问题
  • 当然。当你添加问题时让我知道。
  • -我已经发布了我的问题

有关关于 xml:如何在列表框上应用数据模板的更多相关文章

  1. ruby - 如何在 Ruby 中顺序创建 PI - 2

    出于纯粹的兴趣,我很好奇如何按顺序创建PI,而不是在过程结果之后生成数字,而是让数字在过程本身生成时显示。如果是这种情况,那么数字可以自行产生,我可以对以前看到的数字实现垃圾收集,从而创建一个无限系列。结果只是在Pi系列之后每秒生成一个数字。这是我通过互联网筛选的结果:这是流行的计算机友好算法,类机器算法:defarccot(x,unity)xpow=unity/xn=1sign=1sum=0loopdoterm=xpow/nbreakifterm==0sum+=sign*(xpow/n)xpow/=x*xn+=2sign=-signendsumenddefcalc_pi(digits

  2. ruby - 将差异补丁应用于字符串/文件 - 2

    对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl

  3. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  4. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  5. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  6. ruby-on-rails - 如何从 format.xml 中删除 <hash></hash> - 2

    我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为

  7. ruby-on-rails - 如何在 ruby​​ 中使用两个参数异步运行 exe? - 2

    exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby​​中使用两个参数异步运行exe吗?我已经尝试过ruby​​命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何ruby​​gems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除

  8. ruby-on-rails - Rails 应用程序之间的通信 - 2

    我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此

  9. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  10. ruby - 通过 erb 模板输出 ruby​​ 数组 - 2

    我正在使用puppet为ruby​​程序提供一组常量。我需要提供一组主机名,我的程序将对其进行迭代。在我之前使用的bash脚本中,我只是将它作为一个puppet变量hosts=>"host1,host2"我将其提供给bash脚本作为HOSTS=显然这对ruby​​不太适用——我需要它的格式hosts=["host1","host2"]自从phosts和putsmy_array.inspect提供输出["host1","host2"]我希望使用其中之一。不幸的是,我终其一生都无法弄清楚如何让它发挥作用。我尝试了以下各项:我发现某处他们指出我需要在函数调用前放置“function_”……这

随机推荐