3
樣式化DataGrid,我想通過將觸發器應用於ControlTemplate或Style來區分它的最後一個列標題。例如:如何檢查DataGridColumnHeader的ColumnIndex是否是觸發器的最後一個?
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridColumnHeader">
<Grid>
<Border>
<ContentPresenter
DataContext="{TemplateBinding DataContext}"
Content="{Binding}"
VerticalAlignment="Center"/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="DisplayIndex" Value="{Binding ???}">
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
但是,我必須綁定什麼值?有TemplateBinding,TemplatedParent和許多其他綁定,但即使我知道使用哪一個,然後再次尋找它的內部屬性? (很明顯有一些具有計數或長度屬性的集合,但它將很好地看到確切的東西)
由於在運行時解析所有不同的綁定,所以必須有方法來確定究竟是什麼類型我要去綁定,對吧?我怎麼找到它?
你可能需要一個多轉換器,在其中您將項目(列)的集合與此列的datacontext一起傳遞,然後您可以檢查索引並返回true或false 。最後,讓你的觸發器檢查其中的一個值。 – gregsdennis 2015-02-10 01:50:43