2012-03-01 23 views
0

.NET 3.5、WPFを使用しています。DataGridのDatePickerをダブルクリックするまで表示しない

データグリッドにDatapickerを埋め込みました。データピッカーの日付を変更すると、DataGridのRowEditingEndイベントが正しくトリガーされます。ただし、DataPickerの列は、セルをダブルクリックするまで内容が表示されません。セルをダブルクリックすると、DatePickerが表示されます。 DatePickerを永久に表示する方法はありますか?

データグリッドのXML:

<WPFToolkit:DataGrid Name="dgCustomPermPopup" AutoGenerateColumns="False" Margin="30,20,35,60" SelectionMode="Single" IsReadOnly="False" RowEditEnding="ch" > 
     <WPFToolkit:DataGrid.Columns> 
      <WPFToolkit:DataGridTextColumn Header="id" Binding="{Binding Id}" Width="50" /> 
      <WPFToolkit:DataGridTextColumn Header="name" Binding="{Binding Path=DisplayDate}" Width="40" /> 
      <WPFToolkit:DataGridTemplateColumn Header="DisplayDate"> 
       <WPFToolkit:DataGridTemplateColumn.CellEditingTemplate> 
        <DataTemplate> 
         <WPFToolkit:DatePicker Text="" SelectedDate="{Binding Path=DisplayDate}" FirstDayOfWeek="Monday" SelectedDateFormat="Short" /> 
        </DataTemplate> 
       </WPFToolkit:DataGridTemplateColumn.CellEditingTemplate> 
      </WPFToolkit:DataGridTemplateColumn> 
     </WPFToolkit:DataGrid.Columns> 
    </WPFToolkit:DataGrid> 
+0

多分これは、[編集のためのシングルクリックを]あなたを助けるでしょう(http://wpf.codeplex.com/wikipage?title=Single-Click%20Editing&ProjectName=wpf) – V4Vendetta

答えて

1

あなたはいつもそれが見えるようにする代わりにCellEditingTemplateのCellTemplateを使用することができます。 CellEditingTemplateは、編集モードにあるセルの内容を表示するために使用されるテンプレートです。

<WPFToolkit:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <WPFToolkit:DatePicker Text="" SelectedDate="{Binding Path=DisplayDate}" FirstDayOfWeek="Monday" SelectedDateFormat="Short" /> 
         </DataTemplate> 
    </WPFToolkit:DataGridTemplateColumn.CellTemplate> 
+0

データに日付をchaning、CellTemplateを使用してグリッドはDataGridのRowEditingEndイベントを起動しません – Goxy

+0

ok。 RowEditEndingイベントを使用しているものについては? DisplayDateプロパティの設定で、このイベントで何をしていてもかまいませんか? –

0

複合ソリューションはどうなりますか?

<WPFToolkit:DataGridTemplateColumn.CellTemplate> 
    <DataTemplate> 
     <WPFToolkit:TextBlock Text="{Binding Path=DisplayDate}" /> 
    </DataTemplate> 
</WPFToolkit:DataGridTemplateColumn.CellTemplate> 
<WPFToolkit:DataGridTemplateColumn.CellEditingTemplate> 
    <DataTemplate> 
     <WPFToolkit:DatePicker Text="" SelectedDate="{Binding Path=DisplayDate}" FirstDayOfWeek="Monday" SelectedDateFormat="Short" /> 
    </DataTemplate> 
</WPFToolkit:DataGridTemplateColumn.CellEditingTemplate> 
関連する問題