我有一个自定义UserControl,我想给它一个自定义属性"MyProperty"
,我可以在XAML中设置它。所以我的XAML看起来像这样:
<EventDet:EventAddressControl
MyCustomProperty="formattype"
x:Name="EventSessionLocationControl"/>
如何为UserControl提供自定义属性/属性,然后我可以在XAML中设置?
答案 0 :(得分:8)
如果您使用的是CLRProperty,则不能用于绑定目的。
public partial class MyCustomControl : UserControl
{
public MyCustomControl()
{
InitializeComponent();
}
public string MyCLRProperty { get; set; }
public string MyProperty
{
get { return (string)GetValue(MyPropertyProperty); }
set { SetValue(MyPropertyProperty, value); }
}
// Using a DependencyProperty as the backing store for MyProperty. This enables animation, styling, binding, etc...
public static readonly DependencyProperty MyPropertyProperty =
DependencyProperty.Register("MyProperty", typeof(string), typeof(MyCustomControl ));
}
<my:MyCustomControl MyProperty="{Binding BindingProperty}"
MyCLRProperty="MyCLRProperty"/>
答案 1 :(得分:2)
在你的课堂上放一个普通的DependencyProperty。
答案 2 :(得分:1)
如果您只想从xaml设置值,则可以使用常规属性。如果要将属性与触发器,样式等一起使用,则需要使用依赖项属性来利用这些WPF功能