将所选项目模板绑定到另一个控件模板

发布于 2024-12-05 14:07:54 字数 1238 浏览 0 评论 0原文

我有一个列表框,其中列出了项目,每个项目都是带有图标和描述文本的堆栈面板。

<ListBox x:Name="lstSlectionTools"
         SelectedIndex="2"
         SelectionChanged="ListBox1_SelectionChanged">

    <StackPanel Orientation="Horizontal" >
      <ContentControl Template="{StaticResource Icon1}"/>
      <TextBlock Margin="3,0,0,0" Text="Item1" />
    </StackPanel>

    <StackPanel Orientation="Horizontal" >
      <ContentControl Template="{StaticResource Icon2}"/>
      <TextBlock Margin="3,0,0,0" Text="Item2" />
    </StackPanel>

    <StackPanel Orientation="Horizontal" >
      <ContentControl Template="{StaticResource Icon13}"/>
      <TextBlock Margin="3,0,0,0" Text="Item3" />     
    </StackPanel>

<StackPanel Orientation="Horizontal" >
      <ContentControl Template="{StaticResource Icon4}"/>
      <TextBlock Margin="3,0,0,0" Text="Item4" />
    </StackPanel>
</ListBox>

我想显示所选项目的图标,例如:

<ContentControl x:Name="selectTool"
                Template="{Binding SelectedItem.Template, ElementName=lstSlectionTools}"" />

我无法弄清楚如何将所选项目(即 stackpanel 第一个子项目的模板)绑定到 selectTool 的模板。

I got a listbox with listing down item, each item is stackpanel with an icon and description text.

<ListBox x:Name="lstSlectionTools"
         SelectedIndex="2"
         SelectionChanged="ListBox1_SelectionChanged">

    <StackPanel Orientation="Horizontal" >
      <ContentControl Template="{StaticResource Icon1}"/>
      <TextBlock Margin="3,0,0,0" Text="Item1" />
    </StackPanel>

    <StackPanel Orientation="Horizontal" >
      <ContentControl Template="{StaticResource Icon2}"/>
      <TextBlock Margin="3,0,0,0" Text="Item2" />
    </StackPanel>

    <StackPanel Orientation="Horizontal" >
      <ContentControl Template="{StaticResource Icon13}"/>
      <TextBlock Margin="3,0,0,0" Text="Item3" />     
    </StackPanel>

<StackPanel Orientation="Horizontal" >
      <ContentControl Template="{StaticResource Icon4}"/>
      <TextBlock Margin="3,0,0,0" Text="Item4" />
    </StackPanel>
</ListBox>

I want to show the selected item icon something like:

<ContentControl x:Name="selectTool"
                Template="{Binding SelectedItem.Template, ElementName=lstSlectionTools}"" />

I am unable to figure out how to bind selected item (i.e. stackpanel first child's template to the selectTool's template.

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

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

发布评论

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

评论(1

握住我的手 2024-12-12 14:07:54

本例中的 Binding.Path 将为 SelectedItem.Children[0].Template

The Binding.Path in this case would be SelectedItem.Children[0].Template.

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