如何引用“PreviousData”设置ContentPresenter.Style时
在下面的代码中,我尝试通过检查 PreviousElement 是否为 null,将集合中第一个项目的样式设置为一个模板,并将其余项目设置为不同的模板。我认为我的相对源不正确,因为触发条件始终为真。路径应该是什么?
<DataTemplate x:Key="RowItemTemplate">
<ContentPresenter Content="{Binding}">
<ContentPresenter.Style>
<Style TargetType="{x:Type ContentPresenter}">
<Setter Property="ContentTemplate" Value="{StaticResource ComparisonTemplate}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}">
<Setter Property="ContentTemplate" Value="{StaticResource SourceTemplate}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentPresenter.Style>
</ContentPresenter>
</DataTemplate>
In the following code I am trying to set the style of the first item in my collection to one template and the rest to a different template by checking if the PreviousElement is null. I think my relativesource is incorrect because the trigger condition is always true. What should the path be?
<DataTemplate x:Key="RowItemTemplate">
<ContentPresenter Content="{Binding}">
<ContentPresenter.Style>
<Style TargetType="{x:Type ContentPresenter}">
<Setter Property="ContentTemplate" Value="{StaticResource ComparisonTemplate}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}">
<Setter Property="ContentTemplate" Value="{StaticResource SourceTemplate}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentPresenter.Style>
</ContentPresenter>
</DataTemplate>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我创建了一个接口,它有一个 bool 来确定特定元素应该使用哪个模板:
I created an interface that has a bool to determine which template a particular element should use: