c# - WPF 工具包 DateTimePicker 使时间文本框不可编辑

标签 c# wpf mvvm wpftoolkit

我正在尝试使日历的时间选择器成为只读文本框的一部分。因为默认情况下它允许用户输入 无效时间并抛出索引超出范围。我喜欢只允许从上下箭头选择时间,并禁止在该文本框中输入内容。

我曾尝试使用 TimePickerVisibility隐藏,但它隐藏了时间选择器。

enter image description here

最佳答案

更新 1
我刚刚注意到您使用的是 DateTimePicker 而不是 TimePicker,
所以你需要以这种方式将 DateTimePicker 的 TimePicker 设置为 not AllowTextInput:

    <xctk:DateTimePicker HorizontalAlignment="Left" Margin="67,200,0,0" VerticalAlignment="Top" Width="228">
        <xctk:DateTimePicker.Resources>
            <Style TargetType="{x:Type xctk:TimePicker}">
                <Setter Property="AllowTextInput" Value="False"/>
            </Style>
        </xctk:DateTimePicker.Resources>
    </xctk:DateTimePicker>

更新2
如果你想禁用所有的 TextInputs,这样用户就不能输入日期和时间,你可以这样做:

<xctk:DateTimePicker HorizontalAlignment="Left" Margin="67,200,0,0" VerticalAlignment="Top" Width="228">
    <xctk:DateTimePicker.Resources>
        <Style TargetType="{x:Type xctk:DateTimePicker}">
            <Setter Property="AllowTextInput" Value="False"/>
        </Style>
        <Style TargetType="{x:Type xctk:TimePicker}">
            <Setter Property="AllowTextInput" Value="False"/>
        </Style>
    </xctk:DateTimePicker.Resources>
</xctk:DateTimePicker>

如果您将使用标准的 DatePicker,则可以通过以下方式完成相同的操作。 对于标准 WPF DatePicker,您需要将 DatePickerTextBox 设置为 ReadOnly。你可以这样做:

<DatePicker HorizontalAlignment="Left" Margin="138,82,0,0" VerticalAlignment="Top">
    <DatePicker.Resources>
        <Style TargetType="DatePickerTextBox">
            <Setter Property="IsReadOnly" Value="True"/>
        </Style>
    </DatePicker.Resources>
</DatePicker>

关于c# - WPF 工具包 DateTimePicker 使时间文本框不可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43865735/

相关文章:

c# - 从远程服务器读取 log4net 文件的免费工具

c# - TxSelect 和 TransactionScope

c# - 我在 Reflection.Emit.DynamicMethod 中发出的 IL 有什么问题?

WPF 或 WinForms 适合临时程序员吗?

c# - WPF 和 MVVM - 太多了?

c# - 如何绑定(bind)到 WPF 中动态创建的单选按钮?

c# - Unity3d 和 UdpClient

wpf - 具有覆盖的 OnVisualChildrenChanged 的​​自定义 WPF WrapPanel 将无法按预期工作

c# - MVVM Light RelayCommand 参数

data-binding - 绑定(bind)到不同的 dataContexts