के अंदर से GridViewColumnHeader शैली सेट करें मेरी परियोजनाओं में से एक में मैंने एक सूची दृश्य विरासत में लिया है और एक नया नियंत्रण टेम्पलेट सेट करके शैली को ओवरराइड किया है। मैंने स्तंभ शीर्षलेख शैली को भी ओवरराइड कर दिया है। अब तक मैं दो तरीकों से यह करने के लिए मिल गया है:एक सूची दृश्य शैली
1) एक शैली कुंजी की स्थापना और GridView में शैली को संदर्भित द्वारा:
<Style TargetType="{x:Type GridViewColumnHeader}" x:Key="MyHeaderStyle">
<Setter Property="Background" Value="Wheat" />
</Style>
<GridView ColumnHeaderContainerStyle="{StaticResource MyHeaderStyle}">
2) ऊपर शैली के लिए एक शैली कुंजी की स्थापना नहीं करके। अब मुझे ग्रिड व्यू में शैली का संदर्भ देने की आवश्यकता नहीं है, लेकिन यह सूचीदृश्य प्रकार से स्वतंत्र मेरे एप्लिकेशन में सभी सूची दृश्य शीर्षलेखों को ओवरराइड करता है।
चूंकि मैं अपने आवेदन में कई सूचीदृश्यों का उपयोग करता हूं, इसलिए मैं इसे तीसरे और अधिक लचीले तरीके से पूरा करना चाहता हूं; एक सूची दृश्य शैली के अंदर से GridView.ColumnHeaderContainerStyle सेट करके। इस तरह मुझे प्रत्येक ग्रिड व्यू में हेडर शैली का संदर्भ देने की आवश्यकता नहीं होगी। यहाँ XAML का एक सरलीकृत संस्करण अब तक है:
<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>
यह दुर्भाग्य हैडर शैली निर्धारित नहीं करता है ... मैं ऊपर XAML को यह बदलाव करते हैं, यह काम करता है:
<GridView ColumnHeaderContainerStyle="{StaticResource MyHeaderStyle}">
कोई विचार?