我通常不会来这里寻求帮助,但我似乎无法将我的treeView连接到我的代码隐藏。我创建了它,现在我希望能够在选择项目更改时(仅限子项)执行操作。我认为这是基本的,我在这里找不到它,但我可能看起来不够深入。我没有我的代码库,我无法查找关于onClick事件的工作模型,你能帮忙吗? (现在我想做的就是显示一些照片,如果单击一个树项目,例如cat pics)
感谢您的帮助
Title="TheBestCatPics from Google search first page" Height="350" Width="525">
<Grid>
<TreeView x:Name="CatsOnClicks"
SelectedItemChanged="myTreeView_SelectedItemChanged"
ItemTemplate="{StaticResource PeerDetailTemplate} />
<TreeViewItem>
<TreeViewItem.Header>
<StackPanel Orientation="Horizontal">
<Border Width="40" Height="15"></Border>
<Label Content= "TheCats, Majestic...."></Label>
</StackPanel>
</TreeViewItem.Header>
</TreeViewItem>
<!-- Child Item -->
<TreeViewItem SelectedItemChanged="OnTreeViewSelectedItemChanged">
<TreeViewItem.Header>
<StackPanel Orientation="Horizontal">
<Label Content="Cica"></Label>
</StackPanel>
</TreeViewItem.Header>
</TreeViewItem>
<TreeViewItem>
<TreeViewItem.Header>
<StackPanel Orientation="Horizontal">
<Label Content="Cicus"></Label>
</StackPanel>
</TreeViewItem.Header>
</TreeViewItem>
<TreeViewItem>
<TreeViewItem.Header>
<StackPanel Orientation="Horizontal">
<Label Content="Macska"></Label>
</StackPanel>
</TreeViewItem.Header>
</TreeViewItem>
</TreeView>
</Grid>
&#34;代码隐藏&#34;:
namespace WpfApp___TreeViewWithCats
{
class CatsOnClick
{
public object CatsOnClicks { get; set; }
private void myTreeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
CatsOnClick selectedItem = (CatsOnClick)CatsOnClicks.SelectedItem;
// show cat pics
}
}
}
答案 0 :(得分:1)
如果您清理代码,它确实可以正常工作。
这是一个最小的工作示例(背后的代码与您的相同):
ItemTemplate="{StaticResource PeerDetailTemplate} />
如你所见:
您应该删除此处的结束斜杠
ItemTemplate="{StaticResource PeerDetailTemplate}"
您应该在ItemTemplate中添加结束引号
SelectedItemChanged
您应该从TreeViewItems中删除&
事件