我在我的WPF项目中添加了一个日历控件,如下所示;
<Calendar x:Name="DatesCalendar" SelectionMode="SingleRange" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" Margin="0,10" VerticalAlignment="Center" />
这个想法是当用户选择一系列日期并点击搜索按钮时,我从数据库中获取该范围内的条目。在用户单击搜索按钮时,将取消选择日历日期。我希望当日历失去焦点时,所选的最后日期保持选中状态。
答案 0 :(得分:0)
我读到了这个问题的可能答案here。为了完整起见,我复制了那里提供的信息:
Calendar.SelectedDates
是只读属性。因此,您无法在Binding
。
XAML
设置System.Windows.Interactivity.dll
但是,你可以这样做:
1)将Microsoft.Expression.Interactions.dll
添加到项目参考
2)将namespace
添加到项目参考
3)将以下`xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"`
`xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"`
前缀添加到 XAML :
<sdk:Calendar Name="Cal" SelectionMode="MultipleRange" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectedDatesChanged">
<i:InvokeCommandAction Command="{Binding SelectionCommand}"
CommandParameter="{Binding SelectedDates, ElementName=Cal}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</sdk:Calendar>`
4) XAML :
public class ViewModel
{
public ViewModel()
{
this.SelectionCommand = new DelegateCommand<object>(this.SelectionChanges );
}
public ICommand SelectionCommand { get; private set; }
private void SelectionChanges(object sender)
{
SelectedDatesCollection dates = sender as SelectedDatesCollection;
}
}
5) ViewModel :
myDropzone.emit("addedfile", images[i]);
myDropzone.emit("thumbnail", images[i], "/Images/Ads/");
myDropzone.emit("complete", images[i]);
myDropzone.files.push(images[i]); // added this line
我自己没有测试过。它对你有帮助吗?此答案顶部的链接中有更多信息。