DatePicker в DataGrid скрыт, пока вы не дважды щелкните по нему - PullRequest
0 голосов
/ 01 марта 2012

Я использую .NET 3.5, WPF.

Я встроил Datapicker в таблицу данных.Изменение даты в Data Picker корректно вызывает событие RowEditingEnd of DataGrid.Однако столбец с DataPicker не показывает содержимое, пока вы дважды не щелкнете по ячейке.После двойного щелчка по ячейке, появляется DatePicker.Есть ли способ сделать DatePicker постоянно видимым?

XML DataGrid:

    <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>

Ответы [ 2 ]

1 голос
/ 01 марта 2012

Вы можете использовать CellTemplate вместо CellEditingTemplate, чтобы сделать его видимым всегда.CellEditingTemplate - это шаблон, который используется для отображения содержимого ячейки, находящейся в режиме редактирования.

 <WPFToolkit:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <WPFToolkit:DatePicker Text="" SelectedDate="{Binding Path=DisplayDate}" FirstDayOfWeek="Monday"  SelectedDateFormat="Short" />
                        </DataTemplate>
   </WPFToolkit:DataGridTemplateColumn.CellTemplate>
0 голосов
/ 06 ноября 2017

А как насчет комбинированного решения?

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...