WPF获取父类控件信息

点击"APTIV-07"时如何获取"Project_V3"的名称,现在只能获取上一级的名称,无法获得上上级。
XAML格式为:
<DockPanel.Resources>
<local:Data x:Key="MyList"/>
<HierarchicalDataTemplate DataType = "{x:Type local:Data}"
ItemsSource = "{Binding Path= Versions}">
<TextBlock Text="{Binding Path=ProjectName}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType = "{x:Type local:Version}"
ItemsSource = "{Binding Path=Machines}">
<TextBlock Text="{Binding Path=Ver_Name}"/>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type local:Machine}">
<TextBlock Text="{Binding Path=MachineName}" MouseLeftButtonDown="TextBlock_MouseLeftButtonDown" />
</DataTemplate>
</DockPanel.Resources>
<Menu x:Name="menu" DockPanel.Dock="Top" VerticalAlignment="Top" Visibility="Collapsed"
GotKeyboardFocus="menu_GotKeyboardFocus"
LostKeyboardFocus="menu_LostKeyboardFocus"
ContextMenuOpening="menu_ContextMenuOpening">
<MenuItem Header="Project"
ItemsSource="{Binding Projects}" >
</MenuItem>
</Menu>
获取上级目录用的方法是:
public static T GetParent<T>(DependencyObject obj) where T : FrameworkElement
{
if (obj != null)
{
DependencyObject parent = VisualTreeHelper.GetParent(obj);
while (parent != null)
{
if (parent is T)
{
return (T)parent;
}
parent = VisualTreeHelper.GetParent(parent);
}
}
return null;
}
//获取上级
var parent = GetParent<StackPanel>(e.OriginalSource as DependencyObject);
string currentVersion = ((Version)parent.DataContext).Ver_Name;
有没有大神帮忙看下,如何获取上上级"Project_V3"这个字段,后边显示的时候需要用到。
...全文
相关推荐
WPF获取DataTemplate里的控件
WPF获取DataTemplate里的控件的内容 源代码
WPF控件使用详解
WPF控件使用说明 XAML 是一种声明性标记语言。如同应用于 .NET Framework 编程模型一样,XAML 简化了为 .NET Framework 应用程序创建 UI 的过程。您可以在声明性 XAML 标记中创建可见的 UI 元素,然后使用代码隐藏文件(通过分部类定义与标记相连接)将 UI 定义与运行时逻辑相分离。XAML 直接以程序集中定义的一组特定后备类型表示对象的实例化。 这与大多数其他标记语言不同,后者通常是与后备类型系统没有此类直接关系的解释语言。XAML 实现了一个工作流,通过此工作流,各方可以采用不同的工具来处理应用程序的 UI 和逻辑。
WPF中自定义控件教程
WPF中自定义控件开发教程,我也在学习中。
WPF调用Winform 的控件
WPF调用Winform 的控件WPF调用Winform 的控件WPF调用Winform 的控件
Wpf Mvvm 动态创建控件
根据传值控件名称(如TextBox,CheckBox,ComboBox,CheckBoxList,DatePicker等) 动态生成控件,选中或设置值后取值


