将所选项目模板绑定到另一个控件模板
我有一个列表框,其中列出了项目,每个项目都是带有图标和描述文本的堆栈面板。
<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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
本例中的
Binding.Path
将为SelectedItem.Children[0].Template
。The
Binding.Path
in this case would beSelectedItem.Children[0].Template
.