첫 번째 질문은 여기에 있습니다. 어쨌든 여기에 간다 :SelectedDate를 기준으로 DatePicker 스타일을 변경하십시오
많은 DatePicker 컨트롤 (CodePlex의 WPFToolkit에서 DatePicker)이있는 XAML Windows가 있습니다. 모든 DatePicker의 기본 값은 1/1/1990이며 다른 날짜를 선택하지 않은 경우 상사 (:-))가 텍스트를 검은 색이 아닌 기울임 꼴로 표시하려고합니다. 따라서, 그것은 Date가 아직 입력되지 않은 필드를 쉽게 볼 수있게합니다.
이 작업은 쉽지만 WPF/XAML을 처음 사용하게되었습니다. 사실, 이것들은 그것을 사용하는 나의 첫 걸음입니다.
<Style TargetType="{x:Type my:DatePicker}">
<Style.Triggers>
<Trigger Property="Text" Value="1/1/1990">
<Setter Property="Foreground" Value="DarkGray"/>
<Setter Property="ToolTip" Value="Please select a date"/>
<Setter Property="FontStyle" Value="Italic"/>
</Trigger>
</Style.Triggers>
</Style>
문제, 그것은 분명하기 때문에 현지화/지역 설정 문제의 모든 시스템에서 작동하지 않는 것입니다 : 그래서 여기
내가 무슨 큰 실제로 작동하는 것입니다. 트리거의 "값"속성에
<Style TargetType="{x:Type my:DatePicker}">
<Style.Triggers>
<Trigger Property="Text" Value="{Binding Source={x:Static p:Settings.Default}, Path=MinDate, Mode=TwoWay}">
<Setter Property="Foreground" Value="DarkGray"/>
<Setter Property="ToolTip" Value="Veuillez choisir une date"/>
<Setter Property="FontStyle" Value="Italic"/>
</Trigger>
</Style.Triggers>
</Style>
공지 사항의 차이 :
그래서 나는이 시도. 이것은 다음과 같은 오류를 얻을 :A 'Binding' cannot be set on the 'Value' property of type 'Trigger'. A 'Binding' can only be set on a DependencyProperty of a DependencyObject.
어느 내가의 의미를 이해 할이 작동하지 않는 이유를 나는 이해합니다. MinDate는 DateTime 형식의 값인 1/1/1990입니다.
그래서 모든 컴퓨터에서 첫 번째 코드 조각의 결과를 얻을 수 있습니까?
시간 내 주셔서 감사합니다.
링크를 제공해 주셔서 감사합니다. 그러나 실제로 Calendar 컨트롤의 스타일을 변경하지는 않습니다. DatePickerTextBox에 표시된 텍스트 만. 나는 그 값에 따라 텍스트 상자의 스타일을 변경하기를 원하기 때문에 트리거를 사용합니다. 어제 그 점에 대해서는 분명하지 않았을 수도 있습니다. DatePickerTextBox의 Text 속성이 01/01/1990 인 경우 전경을 DarkGray Italic으로 변경하고, 그렇지 않으면 Normal Black으로 다시 변경하여 시각적 피드백을 통해 어떤 필드가 기본값을 갖는지 시각적으로 확인하십시오. 그게 방아쇠를 사용하는 것이 옳은 것일 수도 있다고 생각한 이유입니다. –
좋아, 방아쇠를 원할지도 모르지만, 그 날짜를 사용하는 것이 최선이라고 생각하지 않습니다. 아마도 bool 속성에 바인딩하여 로컬 리 제이션에 대해 걱정할 필요가 없었을 것입니다. – nportelli
고마워, 그게 내가 올바른 길을 찾는데 도움이되었다. SelectedDate 속성이 기본 Date 값과 같으면 스타일 변경을 트리거하는 true를 반환하는 변환기를 만들었습니다. 매력처럼 작동합니다. 다시 한번 감사드립니다. –