[ad_1]
لدي DataGrid مع DataGridTemplateColumn. لا أستطيع تعديل حقل التعليق. عندما أنقر نقرًا مزدوجًا فوق حقل التعليق، تتغير الخلفية بشكل متوقع LightSalmon
ومحتوى الممتلكات المربوطة Comment
يظهر ولكن لا يمكنني تحرير المحتوى.
ما حاولت:
<DataGridTemplateColumn IsReadOnly="False" Header="Comment" MinWidth="80"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Background="LightGray" Margin="5" MinHeight="35" TextAlignment="Center" Text="{Binding Comment, Mode=OneWay}" IsEnabled="True" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> <DataGridTemplateColumn.CellEditingTemplate> <DataTemplate> <TextBlock Background="LightSalmon" Opacity="0.5" Margin="5" MinHeight="35" TextAlignment="Center" Text="{Binding Comment}" IsEnabled="True" /> </DataTemplate> </DataGridTemplateColumn.CellEditingTemplate>
الحل 1
أعطى جيري الحل، لتوضيح الأمر –
يعد TextBlock عنصر تحكم للقراءة فقط، ولهذا السبب لا يمكنك تحرير المحتوى عند النقر المزدوج عليه – تعلم MS | فئة كتلة النص[^]
لاستخدام التحرير، يجب عليك استخدام عنصر تحكم قابل للتحرير مثل “TextBox” في “CellEditingTemplate” الخاص بك –
XAML
<DataGridTemplateColumn IsReadOnly="False" Header="Comment" MinWidth="80"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Background="LightGray" Margin="5" MinHeight="35" TextAlignment="Center" Text="{Binding Comment, Mode=OneWay}" IsEnabled="True" /> </DataTemplate> </DataGridTemplateColumn.CellTemplate> <DataGridTemplateColumn.CellEditingTemplate> <DataTemplate> <TextBox Background="LightSalmon" Margin="5" MinHeight="35" TextAlignment="Center" Text="{Binding Comment, UpdateSourceTrigger=PropertyChanged}" IsEnabled="True" /> </DataTemplate> </DataGridTemplateColumn.CellEditingTemplate> </DataGridTemplateColumn>
يسمح “TextBox” في “CellEditingTemplate” بإدخال المستخدم الخاص بك، ويتأكد “UpdateSourceTrigger=PropertyChanged” من تحديث خاصية المصدر أثناء كتابة المستخدم الخاص بك.
[ad_2]
コメント