2017-05-09 38 views
3

캘린더의 시간 선택기 부분에 읽기 전용 텍스트 상자를 만들려고합니다. 기본적으로 사용자는 시간을 잘못 입력 할 수 있으며 범위 밖으로 인덱스를 throw합니다. 나는 아래 화살표에서 시간 선택기를 허용하고 해당 텍스트 상자에 타이핑을 사용하지 못하게하고 싶다.WPF Toolkit DateTimePicker Time Textbox를 편집 할 수 없도록 만듭니다.

나는 TimePickerVisibility에서 hidden까지 사용해 보았지만 시간 선택기는 숨 깁니다.

enter image description here

+0

이벤트를 처리 할 수있는 특정 부분을 클릭하고 아무 것도하지 마십시오 ...? – Noctis

답변

2

UPDATE 1
난 그냥 지금 당신이있는 DateTimePicker하지 TimePicker,
이 그래서이 방법으로 AllowTextInput하지 않도록하여 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
사용자가 날짜도 시간도 입력 할 수 없도록 모든 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> 
+0

업데이트 2는 매력처럼 작동합니다. – mehwish