WPF datagrid: désactiver la modification de certaines lignes
J'ai quelque chose comme des ordres table lié à un DataGrid
.
Je veux désactiver la modification sur les lignes, où l'ordre de la date de l'expiration (date limite > date actuelle): grisé et l'interdiction d'entrer dans le mode edit.
Voici ce que j'ai:
<Style TargetType="{x:Type WPFToolkit:DataGridRow}">
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<!-- ??? order_date > current_date -->
<!-- some other condition - already works -->
</MultiTrigger.Conditions>
<Setter Property="IsEnabled" Value="False"/>
<Setter Property="Foreground" Value="LightGray"/>
</MultiTrigger>
</Style.Triggers>
</Style>
La date de la commande est un modèle de colonne définie comme suit:
<WPFToolkit:DataGridTemplateColumn SortMemberPath="order_date" Header="Deadline" >
<WPFToolkit:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=order_date,
ConverterCulture='ru-RU', StringFormat='{}{0:d}'}" />
</DataTemplate>
</WPFToolkit:DataGridTemplateColumn.CellTemplate>
<WPFToolkit:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<WPFToolkit:DatePicker SelectedDate="{Binding Path=order_date}" />
</DataTemplate>
</WPFToolkit:DataGridTemplateColumn.CellEditingTemplate>
</WPFToolkit:DataGridTemplateColumn>
Est-il un moyen pour désactiver le mode d'édition dans les lignes où la date de la commande a expiré?
Connexes: stackoverflow.com/questions/2030143/...
OriginalL'auteur jonny | 2009-12-17
Vous devez vous connecter pour publier un commentaire.
De sorte qu'il semble que tout fonctionne, mais vous avez besoin d'un moyen de vérifier (order_date > current_date) dans un Déclencheur? Si c'est le cas, vous pourriez écrire un ValueConverter comme peut-être DateExpiredConverter et de vérifier l'état là et retourner un booléen.
Le convertisseur de classe pourrait ressembler à quelque chose comme ceci:
Puis dans votre déclencheur que vous faites quelque chose comme cela:
Je n'ai pas testé ce code, mais il devrait être assez proche de ce que vous avez besoin.
OriginalL'auteur Ben Collier