我有<DataTemplate>
定义如下,其中包含<TextBlock>
<DataTemplate>
在<ListBox>
的多个实例中使用,并在<ContentControl>
为简洁而简化的注释代码
<DataTemplate x:Key="SetsItemTemplate" DataType="viewModel:SetVm">
<TextBlock
Visibility="{Binding <somethign here i guess>,
ConverterParameter=collapse,
Converter={StaticResource BoolToVisConverter}}">
</TextBlock>
</DataTemplate>
<ListBox ItemTemplate="{StaticResource SetsItemTemplate}" />
<ContentControl ContentTemplate="{StaticResource SetsItemTemplate}" />
<TextBlock>
有一个boolToVisibility Converter可以在某个条件下折叠<TextBlock>
,但我确实需要这个条件来检查父容器是否为<ContentControl>
即如果<DataTemplate>
父级是<ContentControl>
,则<TextBlock>
也许我可以使用名字来让这更容易(我不确定)
答案 0 :(得分:1)
要访问父级,您需要获取sender
或源对象。你无法使用IValueConverter
获得此功能。但是,他们已经有了解决方案:
现在,您可以访问该元素并通过以下方式获取父级:
element = VisualTreeHelper.GetParent(element) as UIElement;
希望它有所帮助!