YOu have to traversee the visual tree of the element. Here is your initial steps.
privatevoid btnSelect_Click(object sender, RoutedEventArgs e)
{
Button btn = sender as Button;
if (btn != null)
{
ListBoxItem lbi = list.ItemContainerGenerator.ContainerFromItem(btn.DataContext) as ListBoxItem;
// Traverse Visual Tree
}
}
Here is recursive method to traverse visual tree
public T TraverseVisualTree<T>(DependencyObject root) where T : Visual
{
T control = null;
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(root); i++)
{
var child = VisualTreeHelper.GetChild(root, i);
control = child as T;
if (control == null)
{
control = TraverseVisualTree<T>(child);
}
else
{
return control;
}
}
return control;
}
I wrote few articles on it. Please take a look at
http://zamjad.wordpress.com/2011/01/06/traversing-visual-tree/
http://zamjad.wordpress.com/2011/01/11/traversing-visual-tree-revisited/
http://zamjad.wordpress.com/2011/01/12/traversing-visual-tree-by-name/
本文介绍了如何使用递归方法遍历视觉树,并提供了详细的步骤和代码示例。
4万+

被折叠的 条评论
为什么被折叠?



