0

ユーザーがDataGrid(Silverlight SDK)からセルの内容をコピーできるようにする必要があります。

現在、Datagridはコードビハインドによってデータにバインドされています。

レコードはObservableCollectionにロードされ、次にPagedCollectionViewにロードされ、最終的にDataggridのItemsSourceとして設定されます。

私が直面している問題は、私が変わるときです

IsReadOnly = "false"

データグリッドの場合、ユーザーはセルの内容をコピーできます。ただし、誤ってセルに小さな変更を加えた場合、変更は自動的に送信されます。これは、レコードが読み取り専用であるため、例外が発生しています。

したがって、私が達成したいのは、ユーザーがセルのコンテンツをコピーできるようにすることですが、それでも読み取り専用として保持します。

キャッシュされたレコードがクライアントで変更されてもかまいませんが、サービスに送信された変更を許可したくないだけで、不要な例外が発生します。

乾杯

4

1 に答える 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>

そうすれば、セルからコピーできるはずです。

于 2012-10-15T23:19:00.620 に答える