treeView控件如何在SelectedItemChanged 事件中改变点击节点的内容

zywhao 2012-04-10 04:32:16
treeView 控件XAML代码:
<common:HierarchicalDataTemplate x:Key="NodeTemplate" ItemsSource="{Binding Subcomponents}" ItemContainerStyle="{StaticResource PurpleItemStyle}">
<StackPanel Orientation="Horizontal" ToolTipService.ToolTip="{Binding Description}">
<TextBlock Text="{Binding FeatureName}" Foreground="Blue" />
<Image x:Name="btnDelete" Source="{Binding Icon}"></Image>
</StackPanel>
</common:HierarchicalDataTemplate>


<controls:TreeView x:Name="tvFeature"
FontSize="12" Margin="0,35,58,-444" ItemTemplate="{StaticResource NodeTemplate}" Grid.ColumnSpan="2" SelectedItemChanged="tvFeature_SelectedItemChanged">
<!-- 用来一次展开TreeView所有结点 -->
<controls:TreeView.ItemContainerStyle>
<Style TargetType="controls:TreeViewItem">
<Setter Property="IsExpanded" Value="False" />
</Style>
</controls:TreeView.ItemContainerStyle>

</controls:TreeView>

以上是XAML代码,我想在SelectedItemChanged 事件中改变一下 btnDelete 的图片地址 我该在SelectedItemChanged如何写呢..

谢谢
...全文
342 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
asdfsadfasdfafa 2012-04-26
  • 打赏
  • 举报
回复
SelectedItemChanged事件转换使用command,这个搜索一下就可以了
然后在viewmodel中修改<Image x:Name="btnDelete" Source="{Binding Icon}"></Image>
这个控件使用的Icon属性即可。


操作尽量都放得vm中,view的后台最好不要写代码。
silverfox715 2012-04-11
  • 打赏
  • 举报
回复
大概看了一眼,代码不全,不好说...这个问题要分两种情况讨论:
1. 第一层子结点.如果我没有估计错,你的TreeView下面还有一个TreeViewItem.如果是,那么你就应该为该Item指定一个名称,并更改相应的图标就可以了
2. 其它各层子结点.如果是这样,你需要更改数据中的Icon属性.毕竟每个HierachicalTemplate中的Binding,默认情况下,都绑定到每个条目所对应的数据.

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧