我有以下用户控件:
<HMIClasses:vhMotor x:Name="vhDevice"
AutoSize="{Binding AutoSize,Mode=TwoWay}"
DeviceColour="{Binding DeviceColour,Mode=TwoWay}"
MotorOn="{Binding MotorOn,Mode=TwoWay}"
DeviceSize="{Binding DeviceSize,Mode=TwoWay}"
LayoutDirection="{Binding LayoutDirection,Mode=TwoWay}"
Speed="{Binding Speed,Mode=TwoWay}"
HorizontalAlignment="{Binding HorizontalAlignment,Mode=TwoWay}"
VerticalAlignment="{Binding VerticalAlignment,Mode=TwoWay}"
Margin="{Binding Margin,Mode=TwoWay}" >
这与(this)用户控件的datacontext绑定在一起:
public ucMotor() : base()
{
Initialise();
InitializeComponent();
this.DataContext = CreateViewModel()
}
当我将用户控件放在XAML中时,DependenyProperties仅在我编辑时应用。我的意思是,如果我声明用户控件并指定属性:
<local:ucMotor x:Name="motor1"
DeviceColour="Red"
MotorOn="True"
Speed="Superspeed"
....当然,控件会响应设计师的变化。
如果我关闭并重新打开表单,控件将显示视图模型的属性,并不反映XAML的属性。例如,视图模型的默认颜色为银色,尽管XAM指定为红色,控件仍显示为银色。如果我编辑XAML,则会以正确的颜色刷新用户控件。
这是我第一次尝试用户控件和依赖属性,所以有人可以告诉我哪里出错了吗?
由于