C# 如何在DateTimePicker中禁用键盘输入?

C# 如何在DateTimePicker中禁用键盘输入?,c#,wpf,xaml,C#,Wpf,Xaml,我正在使用扩展的WPF工具包,我需要在DateTimePicker中禁用TextBox(或其他)的键盘输入。我已经试过了: <xctk:DateTimePicker Value="{Binding DateStart, Mode=TwoWay}" Style="{StaticResource CustomDatePicker}"> <xctk:DateTimePicker.Resources> <Style TargetType="TextB

我正在使用扩展的WPF工具包,我需要在DateTimePicker中禁用TextBox(或其他)的键盘输入。我已经试过了:

<xctk:DateTimePicker Value="{Binding DateStart, Mode=TwoWay}" Style="{StaticResource CustomDatePicker}">
    <xctk:DateTimePicker.Resources>
        <Style TargetType="TextBox">
            <Setter Property="IsReadOnly" Value="True"/>
        </Style>
    </xctk:DateTimePicker.Resources>
</xctk:DateTimePicker>

对于
TargetType=“TextBox”
TargetType=“DatePickerTextBox”
,它们都不起作用


如何禁用键盘输入(而不使其成为只读?-我仍然需要能够选择日期和时间)?

您可以尝试使用
AllowTimeput
属性

<xctk:DateTimePicker Height="20" Width="200" AllowTextInput="False" />

您的
TargetType
错误。您需要更改
TargetType
,如下所示:

TargetType="{xctk:Type toolkitPrimitives:DatePickerTextBox}"
注意:确保您引用了
toolkitPrimitives命名空间


例如
xmlns:toolkitPrimitives=“clr命名空间:Microsoft.Windows.Controls.Primitives;assembly=WPFToolkit
不确定Rahul的答案是否有效,因为我的答案略有不同

<Style TargetType="{x:Type xctk:WatermarkTextBox}">
   <Setter Property="IsReadOnly" Value="True"/>
</Style>


OP询问
WPF
解决方案。您的解决方案是针对
asp.net
MVC
。好吧……在WPF中使用jquery或一些javascript是不可能的吗?这是可能的,但非常困难。请参阅此链接
DateTimePicker
似乎没有
allowtemiput
属性。很奇怪,可能是在n扩展工具包的一些新版本。我已经在2.6.0.0版本上进行了测试,如果可能的话,您可以尝试更新扩展工具包。好的,我已经更新了扩展WPF工具包版本-现在有
allowtemediput
。谢谢大家。Allowtemediput属性已添加到v2.4(2015年2月13日)上的类InputBase中.不,它仍然允许输入。
<xctk:DateTimePicker Height="20" Width="200" AllowTextInput="False" />
TargetType="{xctk:Type toolkitPrimitives:DatePickerTextBox}"
<Style TargetType="{x:Type xctk:WatermarkTextBox}">
   <Setter Property="IsReadOnly" Value="True"/>
</Style>