2012-08-28 5 views
0

그래서 xmlns를 설정하여 트리거 값에서 CalendarMode를 사용하는 방법을 알아야합니다.Calendar의 표시 모드를 DataTrigger의 값으로 사용하는 방법

xmlns : cal = "clr-namespace : System.Windows.Controls", xmlns : cal = "clr-namespace : System.Windows.Controls.Calendar"를 사용해 보았고 매번 프로젝트를 만들었습니다. ,하지만 CLR 네임 스페이스가 정의되지 않았고 찾을 수 없다는 오류가 나타납니다. 난 그냥 달력에 DisplayModeChanged 이벤트를들을 수도 있겠죠하지만 모든 일이 솔루션을 온라인으로 검색하고 한 이후, 내가 정말로하고 싶은 그에게

<DataTrigger Binding="{Binding Source=_Calendar, Path=Calendar.DisplayMode}"> 
    <DataTrigger.Value> 
    <cal:CalendarMode>Month</cal:CalendarMode> 
    </DataTrigger.Value> 
    <Setter Property="Grid.Opacity" Value="1" /> 
</DataTrigger> 

을 사용하는 경우 다음

입니다 이런 식으로이 문제에 어떻게 접근 할 수 있는지 알아라.

모든 입력 사항을 높이 평가할 것입니다. 감사!

답변

0

실제로 내가 필요한 것을 정확히 이해하지 못했습니다. 하지만 도와 드리겠습니다.

이 정의는 우리가 참조 :

에 xmlns : 프리젠 테이션 = "CLR-네임 스페이스 : 우리가해야 할 XAML 사용할 수 다음

enter image description here

System.Windows.Controls을; assembly = PresentationFramework "

이제 자신이 소유 한 컨트롤의 종속성 속성을 사용하여 무언가를 만들고 싶다면 쇼 자민련은 트리거하지 DataTriggers

를 사용

샘플 :

<Calendar Height="170" HorizontalAlignment="Left" Margin="83,112,0,0" Name="calendar1" VerticalAlignment="Top" Width="180"> 
     <Calendar.Style> 
      <Style TargetType="Calendar"> 
       <Setter Property="Opacity" Value="0.4"/> 
       <Style.Triggers> 
        <Trigger Property="SelectionMode" Value="{x:Static presentation:CalendarMode.Month}"> 
         <Setter Property="Opacity" Value="1.0"/> 
        </Trigger> 
       </Style.Triggers> 
      </Style> 
     </Calendar.Style> 
    </Calendar> 

보통의 DataTriggers가에서 INotifyPropertyChanged를 구현상의 사용자에 의해 생성 된 객체에 사용됩니다. 를 망쳐 놓지 말고. 이제

, 당신은 다른 컨트롤을 변경하려면 (CalendarMode 변경하는 경우) 당신이해야 :

<Calendar Height="170" HorizontalAlignment="Left" Margin="83,112,0,0" 
Name="calendar1" VerticalAlignment="Top" Width="180"/> 

    <Grid> 
     <Grid.Style> 
      <Style TargetType="Grid"> 
       <Setter Property="Opacity" Value="0.5"/> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding ElementName=calendar1, Path=CalendarMode}"> 
         <DataTrigger.Value> 
          <presentation:CalendarMode>Month</presentation:CalendarMode> 
         </DataTrigger.Value> 
         <Setter Property="Opacity" Value="1.0"/> 
        </DataTrigger> 
       </Style.Triggers> 
      </Style> 
     </Grid.Style> 
    </Grid> 

난 당신이 더 트리거, datatriggers 및 바인딩에 대한 읽기 좋습니다.

관련 문제