Wpf 更改由父容器类型确定的DataTemplate textblock可见性

Wpf 更改由父容器类型确定的DataTemplate textblock可见性,wpf,xaml,Wpf,Xaml,我有一个定义如下的,其中包含一个 在的多个实例中使用,并在中的其他地方重复使用 注意:为了简洁起见,代码简化了 有一个boolToVisibility转换器,可以在某个条件下折叠,但是我确实需要该条件来检查父容器是否是 也就是说,如果父对象是折叠 也许我可以使用名称来简化这一过程(我不确定)为了访问父对象,您需要获取发送者或源对象。使用IValueConverter无法获得此信息。但是,他们已经有了解决方案: 现在,您可以通过以下方式访问元素并获取父元素: element = Visual

我有一个定义如下的
,其中包含一个

的多个实例中使用,并在
中的其他地方重复使用

注意:为了简洁起见,代码简化了


有一个boolToVisibility转换器,可以在某个条件下折叠
,但是我确实需要该条件来检查父容器是否是

也就是说,如果
父对象是
折叠


也许我可以使用名称来简化这一过程(我不确定)

为了访问父对象,您需要获取
发送者或源对象。使用
IValueConverter
无法获得此信息。但是,他们已经有了解决方案:

现在,您可以通过以下方式访问元素并获取父元素:

element = VisualTreeHelper.GetParent(element) as UIElement; 

希望有帮助

您可以根据上述msdn链接中提到的父元素更改可见性。可以通过将父元素名称属性与BooltVisibilityConverter一起使用来实现这一点。类似于使用converter将元素名称绑定到TextBlock可见性属性,并基于bounded ElementNameProperty定义转换器中的可见性

element = VisualTreeHelper.GetParent(element) as UIElement;