检索通过usercontrol输入的值

时间:2010-08-28 07:14:16

标签: silverlight user-controls mvvm

我有一个由两个DateTimePicker组成的usercontrol 该组件必须是可重用的,并且应该公开属性,这些属性定义了例如元素的可见性,容器的WIDTH等。 当然,我能够检索输入的值。

所以我创建了足够的DependencyProperty

        public DateTime StartDateValue
    {
        get { return (DateTime)GetValue(StartDateValueProperty); }
        set { SetValue(StartDateValueProperty, value); }
    }

    // Using a DependencyProperty as the backing store for StartDateValue.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty StartDateValueProperty =
        DependencyProperty.Register("StartDateValue", typeof(DateTime), typeof(HSWDateTimePicker), new PropertyMetadata(HSWDateTimePicker.StartDateValueChanged));

当我将UserControl用于视图时,我不知道如何进入我的viewmodel,即在我的usercontrol的DatePicker中输入的值。

我的userControl:

<my:myDateTimePicker StartDateValue="{Binding StartDateDebut, Mode=TwoWay}" x:Name="myPeriod" />

我的按钮:

<Button Content="Ok" Width="75" Height="20" Command="{Binding Path=SaveCommand, Mode=OneTime}"/>

谢谢,PM

1 个答案:

答案 0 :(得分:0)

要检查两件事。确保usercontrol的datacontext是您的viewmodel。

确保您在viewmodel中绑定的属性实现了INotifyPropertyChanged。否则,viewmodel中的更改将不会更新您的用户控件。

确保您在Dependancy属性的已更改事件中设置了日期时间选择器的值。