Я новичок в wpf. У меня есть форма DataGrid wpftoolkit и мне нужно кнопка в шаблоне, чтобы показать только при выборе строки и запись не последний (новый рекорд пункта)WPF привязывается к datagrid из шаблона
<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>
Как связать свойство Visibility с DataGrid?
мое не-полностью решение, которое отключает кнопку, когда строка не выбрана:
<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>
Как я могу проверить, эта строка является новой. Я не нашел это свойство, которое указывает, что эта строка является новой. Если бы я знал это, я набрал многоточие. – 2xMax
Вы можете использовать свойство DataRow.RowState, чтобы проверить, является ли DataRowState DataRowState.Added. – Viv