2017-05-09 348 views
3

私は、Calenderの時間ピッカーの部分に読み取り専用のテキストボックスを作成しようとしています。デフォルトでは、ユーザは に時間を無効にし、インデックスを範囲外に投げることができます。私はちょうど矢印を下から時間ピッカーを許可し、そのテキストボックスでの入力を無効にするのが好きです。WPFツールキットDateTimePickerは時間テキストボックスを編集不可にします

私はTimePickerVisibilityhiddenを使ってみましたが、時間ピッカーを隠しています。

enter image description here

+0

イベントを処理して、その特定の部分をクリックして何もしません...? – Noctis

答えて

2

UPDATE 1
私はちょうど今、あなたがこの方法でAllowTextInputないことのDateTimePickerのTimePickerを設定する必要がありますあなたがDateTimePickerのではなくTimePicker、
を使用していることに気づいた:

<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> 

UPDATE2
すべてのTextInputを無効にして、ユーザーがDateもTimeも入力できないようにするには、次のようにします。

<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> 
+0

更新2は魅力のように機能します。 – mehwish

関連する問題