首页 文章

Silverlight复制单元格内容

提问于
浏览
0

我需要允许用户能够从DataGrid(Silverlight SDK)复制单元格内容 .

目前,Datagrid通过代码绑定到数据 .

记录被加载到ObservableCollection中,然后加载到PagedCollectionView并最终设置为ItemsSource到Dataggrid

我面临的问题是,当我改变时

IsReadOnly =“false”

对于Datagrid,用户可以复制单元格的内容 . 但是如果他们错误地对单元格进行了任何小的更改,那么更改会自动提交,这是因为记录是只读的,所以异常上升 .

因此,我想要实现的是使用户能够复制单元格内容,但仍然将其保持为只读 .

我不介意缓存的记录是否在客户端发生变化,但只是不想允许提交给服务的更改并引发不必要的异常 .

干杯

1 回答

  • 1

    您可以使用sdk:DataGridTemplateColumn为每列创建一个模板,其中包含一个只读文本框 .

    <sdk:DataGrid>
      <sdk:DataGrid.Columns>
        <sdk:DataGridTemplateColumn Header="My Header" Width="80">
          <sdk:DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
               <TextBox BorderBrush="Transparent" Text="{Binding Path=MyProperty}" Height="25" HorizontalAlignment="Stretch" IsReadOnly="True"/>
            </DataTemplate>
          </sdk:DataGridTemplateColumn.CellTemplate>
        </sdk:DataGridTemplateColumn>
      </sdk:DataGrid.Columns>
    </sdk:DataGrid>
    

    您应该能够复制出单元格 .

相关问题