【问题标题】:Change the XAML auto generating text when a custom control is dropped from the toolbox onto Mainwindow将自定义控件从工具箱拖放到主窗口时更改 XAML 自动生成文本
【发布时间】:2018-01-08 22:01:11
【问题描述】:

当 wpf 自定义控件添加到工具箱并拖到 MainWindow 上时,XAML 编辑器中自动生成的文本默认包含一些 properties=values。

如何更改此文本以自动包含我的自定义控件的一些新属性和/或删除其他属性?

【问题讨论】:

  • 你误会了:当 wpf 控件从工具箱拖到窗口时,XAML 编辑器中自动生成的文本包含一些属性=值不等于默认值。重复默认值有什么意义??

标签: c# wpf xaml custom-controls toolbox


【解决方案1】:

结合System.ComponentModel 属性和DependencyProperty 元数据,您可以获得非常灵活的设计时行为。 PropertyMetadata 类有一个采用默认值的构造函数:

[Category("MyCustomCategory")]
public string MyCustomProperty
{
    get { return GetValue(MyCustomPropertyProperty).ToString(); }
    set { SetValue(MyCustomPropertyProperty, value); }
}
public static DependencyProperty MyCustomPropertyProperty =
    DependencyProperty
    .Register(
        "MyCustomProperty",
        typeof(string),
        typeof(MyCustomUserControl),
        new PropertyMetadata("My default value")); // <--- default value

【讨论】:

    猜你喜欢
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多