为GridViewColumn.CellTemplate创建一个名为EditBox的自定义控件.
在普通模式下,TextBlock用于显示内容;
在编辑模式下,将弹出一个TextBox进行编辑.
从Control控制的类
public class EditBox : Control
{
static EditBox()
{
public static readonly DependencyProperty ValueProperty =
DependencyProperty.Register(
"Value",
typeof(object),
typeof(EditBox),
new FrameworkPropertyMetadata());
}
为IsEditing添加依赖项属性.
public static DependencyProperty IsEditingProperty =
DependencyProperty.Register(
"IsEditing",
typeof(bool),
typeof(EditBox),
new FrameworkPropertyMetadata(false)
);
自定义EditBox的样式:
Text="{Binding Path=Value, RelativeSource = {RelativeSource TemplatedParent}}">
在您的Xaml中,您可以放置EditBox: