मैं एक CellTemplateSelector
सशर्त एक डेटा ग्रिड कॉलम में सही का चिह्न प्रदर्शित करने के लिए उपयोग कर रहा हूँ।कोई पैरामीटर कस्टम DataTemplateSelector की SelectTemplate() करने के लिए पारित कर रहे हैं। क्यूं कर?
मेरी DataTemplateSelector
कक्षा के SelectTemplate(object item, DependencyObject container)
विधि को कॉल किया गया है लेकिन पैरामीटर आइटम अपेक्षाकृत DataRowView
-object के बजाय शून्य है।
यहाँ XAML-संहिता है। डेटा ग्रिड की संपत्ति ItemsSource
में आइटम एक DataTable
है, जो अन्य स्तंभों के लिए ठीक काम करता है है। (मैं विजुअल स्टूडियो एक्सप्रेस 2010 के साथ काम)
...
<Window.Resources>
<DataTemplate x:Key="CheckedTemplate">
<Path Width="16" Height="16" Margin="6,0,0,0"
x:Name="CheckMark" SnapsToDevicePixels="False"
Stroke="Green" Fill="Green" StrokeThickness="1"
Data="M 12.4227,0.00012207C 12.4867,0.126587 12.5333,0.274536
12.6787,0.321411C 9.49199,3.24792 6.704,6.57336
4.69865,10.6827C 4.04399,11.08 3.47066,11.5573 2.83199,
11.9706C 2.09467,10.2198 1.692,8.13196 3.8147e-006,
7.33606C 0.500004,6.79871 1.31733,6.05994 1.93067,6.2428C
2.85999,6.51868 3.14,7.9054 3.60399,8.81604C 5.80133,
5.5387 8.53734,2.19202 12.4227,0.00012207 Z " />
</DataTemplate>
<DataTemplate x:Key="UncheckedTemplate">
</DataTemplate>
<local:CheckmarkTemplateSelector x:Key="CheckmarkTemplateSelector" CheckedTemplate="{StaticResource CheckedTemplate}" UncheckedTemplate="{StaticResource UncheckedTemplate}" />
</Window.Resources>
...
<DataGrid ItemsSource="{Binding Items, Mode=OneWay}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="No" Binding="{Binding no}" IsReadOnly="True" />
<DataGridTextColumn Header="Name" Binding="{Binding name}" IsReadOnly="True" />
<DataGridTemplateColumn Header="Selected" CellTemplateSelector="{StaticResource CheckmarkTemplateSelector}" />
</DataGrid.Columns>
</DataGrid>
...
किसी भी मदद की सराहना की है। अग्रिम में धन्यवाद।
आपका अधिकार सही है। यह केवल पहली बार शून्य है। उसे नहीं पता था और शून्य मूल्य पर फंस गया था। लेकिन एक और त्रुटि हुई, मैंने अभी तय कर लिया है। अब यह काम कर रहा है। बहुत बहुत धन्यवाद, यह वास्तव में मेरी मदद की! – sannoble