我有一个由两个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
答案 0 :(得分:0)
要检查两件事。确保usercontrol的datacontext是您的viewmodel。
确保您在viewmodel中绑定的属性实现了INotifyPropertyChanged。否则,viewmodel中的更改将不会更新您的用户控件。
确保您在Dependancy属性的已更改事件中设置了日期时间选择器的值。