C# 如何在Telerik RadDatePicker中禁用手动输入

C# 如何在Telerik RadDatePicker中禁用手动输入,c#,wpf,telerik,raddatepicker,C#,Wpf,Telerik,Raddatepicker,我正在使用TelerikRadDatePicker,我想禁用用户输入,但他们应该能够从日历中进行选择 <telerik:RadDatePicker Culture="{Binding GetLanguage}" x:Name="startDate" Margin="0,5,0,5" HorizontalAlignment="Left" VerticalAlignment="Center" Grid

我正在使用Telerik
RadDatePicker
,我想禁用用户输入,但他们应该能够从日历中进行选择

<telerik:RadDatePicker Culture="{Binding GetLanguage}" x:Name="startDate" 
                       Margin="0,5,0,5" HorizontalAlignment="Left"
                       VerticalAlignment="Center" Grid.Column="1" TabIndex="2"
                       MinWidth="120" Width="120" Height="Auto" MaxHeight="25"
                       KeyDown="filterDate_KeyDown" >
</telerik:RadDatePicker>


我使用了
KeyDown
,但没有任何帮助。

订阅
KeyDown
事件:

<telerik:RadDatePicker KeyDown="StartDate_OnKeyDown" />

有趣的是,
RadDatePicker
上有一个
IsReadOnly
属性,它禁用了
DatePickerTextBox
,仍然允许用户查看日历,但不幸的是,它也阻止了用户在日历中实际进行选择。它使您看起来可以选择一个日期,但实际上并没有设置
SelectedDate
属性。

PreviewKeyDown事件正是针对这种情况而存在的

private void spacebarHandler_PreviewKeyDown(object sender, KeyEventArgs e)
 {
if (e.Key == Key.Space)
    e.Handled = true;
}

将IshittesVisible设置为False,问题已解决

    <telerik:RadDatePicker                          
    SelectedDate="{Binding ValidFrom,Mode=TwoWay}" >
                <telerik:RadDatePicker.Resources>
                    <Style TargetType="telerik:RadWatermarkTextBox">
                        <Setter Property="IsHitTestVisible" Value="False" />                          
                    </Style>
                </telerik:RadDatePicker.Resources>


有一个属性
DateInput ReadOnly
。将其设置为
true
,您就可以开始了

这个问题有一个简单的解决办法

添加属性
EnableTyping=“false”
可防止用户键入

<telerik:RadDatePicker runat="server" ID="rdpPreviousDay" EnableTyping="false"></telerik:RadDatePicker>


您可以使用jquery禁用它……您能用描述说明一下吗?谢谢,还有什么方法让用户不能使用退格删除它的当前日期吗
<telerik:RadDatePicker runat="server" ID="rdpPreviousDay" EnableTyping="false"></telerik:RadDatePicker>