Projelerimden birinde bir ListView miras aldım ve yeni bir denetim şablonu belirleyerek stili geçersiz kıldım. Ayrıca sütun başlığı stilini geçersiz kıldım. Bir stil anahtarı belirleyerek ve GridView stilini referans olarakListView stilinin içinden GridViewColumnHeader stilini ayarlama
1): Şimdiye kadar bunu yapmak için iki yol bulduk
<Style TargetType="{x:Type GridViewColumnHeader}" x:Key="MyHeaderStyle">
<Setter Property="Background" Value="Wheat" />
</Style>
<GridView ColumnHeaderContainerStyle="{StaticResource MyHeaderStyle}">
2) Yukarıdaki stil için bir stil anahtarı belirleyerek vermeyerek. Artık GridView'deki stile başvurmam gerekmiyor, ancak listeden TÜM listeview başlıklarını liste görünüm türünden bağımsız olarak geçersiz kılıyor.
Uygulamamda birçok liste görünümünü kullandığım için bunu üçüncü ve daha esnek bir şekilde gerçekleştirmek istiyorum; GridView.ColumnHeaderContainerStyle bir ListView stili içinden ayarlayarak. Bu şekilde, her GridView'deki başlık stiline başvurmam gerekmeyecek.
<Window.Resources>
<Style TargetType="{x:Type GridViewColumnHeader}" x:Key="MyHeaderStyle">
<Setter Property="Background" Value="Wheat" />
</Style>
<Style TargetType="{x:Type list:MyListView}">
<Setter Property="GridView.ColumnHeaderContainerStyle" Value="{StaticResource MyHeaderStyle}" />
<Setter Property="Background" Value="Linen" />
</Style>
</Window.Resources>
<list:MyListView>
<list:MyListView.View>
<GridView>
<GridViewColumn Header="Column1" />
<GridViewColumn Header="Column2" />
</GridView>
</list:MyListView.View>
</list:MyListView>
Bu maalesef başlık stili ayarlamak gelmez yukarıdaki XAML bu değişikliği yaparsanız, çalışıyor ...:
<GridView ColumnHeaderContainerStyle="{StaticResource MyHeaderStyle}">
Herhangi Burada şimdiye kadar XAML basitleştirilmiş bir sürümüdür fikir?