WPF:TreeView 中的图标

发布于 2024-07-16 17:32:17 字数 1164 浏览 2 评论 0原文

请帮助 WPF 新手!

当 Treeview 绑定到 XML 数据文件时,我需要在 TreeViewItems 中构建带有图标+文本的 TreeView。

这是我的 XML:

<Root>
<Node Name="AAA" Image="images/1.ico" />
<Node Name="BBB" Image="images/2.ico">
    <ChildNode Name="bbb 1" Image="images/3.ico">
        <GrandchildNode Name="b 1.1" Image="images/4.ico"/>
        <GrandchildNode Name="b 1.2" Image="images/5.ico"/>
        <GrandchildNode Name="b 1.3" Image="images/6.ico"/>
    </ChildNode>
    <ChildNode Name="bbb 2" Image="images/7.ico"/>
    <ChildNode Name="bbb 3" Image="images/8.ico">
        <GrandchildNode Name="b 3.1" Image="images/9.ico"/>
        <GrandchildNode Name="b 3.2" Image="images/10.ico"/>
    </ChildNode>
    <ChildNode Name="bbb 4" Image="images/11.ico"/>
</Node>
<Node Name="CCC" Image="images/12.ico">
    <ChildNode Name="ccc 1" Image="images/13.ico">
        <GrandchildNode Name="c 1.1" Image="images/14.ico"/>
        <GrandchildNode Name="c 2.2" Image="images/15.ico"/>
    </ChildNode>
</Node></Root>

提前致谢!

Please help to the newbie in WPF!

I need to build a TreeView with icons+text in TreeViewItems when the Treeview is bounded to an XML data file.

Here is my XML:

<Root>
<Node Name="AAA" Image="images/1.ico" />
<Node Name="BBB" Image="images/2.ico">
    <ChildNode Name="bbb 1" Image="images/3.ico">
        <GrandchildNode Name="b 1.1" Image="images/4.ico"/>
        <GrandchildNode Name="b 1.2" Image="images/5.ico"/>
        <GrandchildNode Name="b 1.3" Image="images/6.ico"/>
    </ChildNode>
    <ChildNode Name="bbb 2" Image="images/7.ico"/>
    <ChildNode Name="bbb 3" Image="images/8.ico">
        <GrandchildNode Name="b 3.1" Image="images/9.ico"/>
        <GrandchildNode Name="b 3.2" Image="images/10.ico"/>
    </ChildNode>
    <ChildNode Name="bbb 4" Image="images/11.ico"/>
</Node>
<Node Name="CCC" Image="images/12.ico">
    <ChildNode Name="ccc 1" Image="images/13.ico">
        <GrandchildNode Name="c 1.1" Image="images/14.ico"/>
        <GrandchildNode Name="c 2.2" Image="images/15.ico"/>
    </ChildNode>
</Node></Root>

Thanks in advance!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

染柒℉ 2024-07-23 17:32:17

使用 TreeView.ItemTemplate 为显示您想要的内容的项目创建模板。

<TreeView ItemsSource="{Binding Source={StaticResource myItemsSource}}">
  <TreeView.ItemTemplate>
    <HierarchicalDataTemplate>
      <StackPanel Orientation="Horizontal">
        <Image Source="{Binding Image}" Margin="0,0,5,0" />
        <TextBlock Text="{Binding Name}" />
      </StackPanel>
    </HierarchicalDataTemplate>
  </TreeView.ItemTemplate>
</TreeView>

编辑:我复制并快速修改了上面的 XAML,没有太多考虑。 刚刚意识到给定的绑定对您不起作用,因为您的数据源是 XML。 没有时间纠正这个问题,但这个想法应该是不言而喻的,足以帮助你前进。

Use TreeView.ItemTemplate to create a template for the items which displays what you want.

<TreeView ItemsSource="{Binding Source={StaticResource myItemsSource}}">
  <TreeView.ItemTemplate>
    <HierarchicalDataTemplate>
      <StackPanel Orientation="Horizontal">
        <Image Source="{Binding Image}" Margin="0,0,5,0" />
        <TextBlock Text="{Binding Name}" />
      </StackPanel>
    </HierarchicalDataTemplate>
  </TreeView.ItemTemplate>
</TreeView>

Edit: I copied and quickly modified the above XAML without much thinking about it. Just realized the bindings given aren't going to work for you, since your data source is XML. Don't have the time to correct that, but the idea should be self evident enough to help you on your way.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文