我是wpf的新手。我目前正在开发自定义控件,我希望严格地从xaml定义某些属性。我正在尝试实现的示例是Effect属性,它仅显示“必须在XAML中设置值”文本。有人可以告诉我该怎么做,或者我应该使用哪个属性?提前致谢
答案 0 :(得分:1)
如果要隐藏属性面板中的属性,可以使用BrowsableAttribute实现它:
可视化设计器通常在“属性”窗口中显示那些没有可浏览属性或使用值为true的BrowsableAttribute构造函数标记的成员。可以在设计时修改这些成员。 使用值为false的BrowsableAttribute构造函数标记的成员不适合设计时编辑,因此不会显示在可视设计器中。默认值为true。
[Browsable(false)]
public int HiddenProperty {
get {
// Insert code here.
return 0;
}
set {
// Insert code here.
}
}
答案 1 :(得分:0)
您需要依赖属性
http://msdn.microsoft.com/en-us/library/ms752914.aspx
public static readonly DependencyProperty IsSpinningProperty =
DependencyProperty.Register(
"IsSpinning", typeof(Boolean),...);
public bool IsSpinning
{
get { return (bool)GetValue(IsSpinningProperty); }
set { SetValue(IsSpinningProperty, value); }
}
或者只是将效果添加到新控件的xaml中:
<local:NewControl>
<local:NewControl.Effect>
<DropShadowEffect/>
</local:NewControl.Effect>
</local:NewControl>