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;