我正在使用用户控件开发Windows Phone 8应用程序。
这个用户控件有一个边框,我想创建一个DependencyProperty来访问这个边框:
public partial class CustomOptionButton : UserControl
{
public Border OuterBorder
{
get
{
return (Border)GetValue(OuterBorderProperty);
}
set
{
SetValue(OuterBorderProperty, value);
}
}
public readonly DependencyProperty OuterBorderProperty =
DependencyProperty.Register("OuterBorder", typeof(Border), typeof(CustomOptionButton), null);
但我不知道如何在XAML中绑定此属性。
当我绑定TextBlock.Text时,我在XAML上执行了此操作:
<TextBlock x:Name="CustomText" Text="{Binding ButtonText, ElementName=userControl}" />
但是,我如何对整个边境做同样的事情?
<Border x:Name="OutBorder" BorderBrush="White" BorderThickness="2" Margin="0">
我需要更改BorderBrush
和BorderThickness
(以及其他属性),所以我认为我只能拥有一个属性而不是三个或四个。
答案 0 :(得分:0)
在这种情况下,您需要为每种类型的单独的属性创建,因为要使用一个属性Border
需要创建一个单独的Control,如下所示:
public сlass MyBorderControl : Border
{
// Your implementation of Control
}
如果您要创建可用于任何Control
的属性,则WPF中的 attached
属性:
MSDN: Attached properties overview
并像这样使用:
<Canvas>
<Button Canvas.Left="50">Hello</Button>
</Canvas>
在这种情况下,Canvas.Left
附加属性用于Button
类。