Je suis nouveau dans wpf. J'ai une forme DataGrid wpftoolkit et je dois montrer le bouton que dans le modèle lorsque la ligne est sélectionnée et que l'enregistrement est dernier (nouvel élément d'enregistrement)WPF se lie à datagrid à partir du modèle
<dg:DataGrid AutoGenerateColumns="False" DockPanel.Dock="Top"
ItemsSource="{Binding Source={StaticResource Entries}}"
Name="dataGrid" >
<dg:DataGrid.Columns>
<dg:DataGridTextColumn Header="Term" Width="2*" Binding="{Binding Path=Term}"/>
<dg:DataGridTextColumn Header="Definition" Width="5*" Binding="{Binding Path=Definition}"/>
<dg:DataGridTemplateColumn Header="">
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Click="btnRemove_Click">Remove</Button>
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>
</dg:DataGrid.Columns>
</dg:DataGrid>
Comment lier la propriété de visibilité avec la grille de données?
ma solution non complètement ce qui désactive le bouton lorsque la ligne est pas sélectionnée:
<dg:DataGridTemplateColumn >
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Remove" Click="btnRemove_Click" >
<Button.Style>
<Style TargetType="{x:Type Button}" >
<Setter Property="Visibility" Value="Hidden" />
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type dg:DataGridRow}}, Path=IsSelected}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
</dg:DataGridTemplateColumn>
Comment puis-je vérifier si cette ligne est nouvelle. Je n'ai pas trouvé cette propriété qui indique que cette ligne est nouvelle. Si je le savais, j'ai écrit un multi-déclencheur. – 2xMax
Vous pouvez utiliser la propriété DataRow.RowState pour vérifier si DataRowState est DataRowState.Added. – Viv