【发布时间】:2009-11-18 17:11:22
【问题描述】:
我正在使用 WPF DataGrid 并想制作自己的 CellEditingTemplate。我想复制像 DatePicker 这样的东西,它在编辑时不会替换单元格的全部内容,而只是浮动 像这样:http://i3.windowsclient.net/SiteFiles/1000/wpfsp1/wpf-35sp1-toolkit/107-2.png?cdn_id={b4d0570c}
我试过了:
<tk:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<Popup AllowDrop="False" StaysOpen="False" >
<Canvas Width="100" Height="100" Background="Aqua"/>
</Popup>
</DataTemplate>
</tk:DataGridTemplateColumn.CellEditingTemplate>
但这似乎并不奏效。我想知道如何制作可以用于单元格编辑模板的自己的控件。
谢谢, 劳尔
答案:
<tk:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock x:Name="PART_TextBox"
Grid.Row="0" Grid.Column="0"
Text="{Binding User.Name}" />
<Popup x:Name="PART_Popup"
PlacementTarget="{Binding ElementName=PART_TextBox}"
Placement="Bottom"
StaysOpen="True"
AllowsTransparency="True"
IsOpen="True">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBox Grid.Column="0" Grid.Row="0" Text="(Enter a last, first)"/>
<Button Grid.Column="1" Grid.Row="0" Content="Search" />
<TreeView Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" Height="200" Width="200" />
</Grid>
</Popup>
</Grid>
</DataTemplate>
</tk:DataGridTemplateColumn.CellEditingTemplate>
【问题讨论】:
标签: wpf datagridview datagrid popup