Täna puutusin kokku DataGrid kontrolliga ja pidin uurima kuidas saaks kopeerida lahtrite väärtusi Ctrl-C klahvikombinatsiooni abil.Tuli välja, et selleks peab elemendil seadma kolm atribuuti.

  • SelectionUnit=”Cell” – ühe lahtri kaupa valmine.
  • SelectionMode=”Extended” – Võmaldab valida mitut lahtrit
  • ClipboardCopyMode=”ExcludeHeader” – ei lisa tekstile veeru nime
...
<DataGrid Name="dG" SelectionUnit="Cell" SelectionMode="Extended" ClipboardCopyMode="ExcludeHeader">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
        <DataGridHyperlinkColumn Header="Link" Binding="{Binding FullName}">
            <DataGridHyperlinkColumn.ElementStyle>
                <Style TargetType="TextBlock">
                    <EventSetter Event="Hyperlink.RequestNavigate" Handler="Request" />
                </Style>
            </DataGridHyperlinkColumn.ElementStyle>
       </DataGridHyperlinkColumn>
   </DataGrid.Columns>
</DataGrid>
...

Tulemus on näha alltoodud piltidel.

DataGrid - Kopeerimine


Datagrid - Copy-Paste Excelisse


Ja nii saabki DataGridist teksti mujale kopeerida.

Advertisements