>

WPF 프로젝트에 다음과 같은 캘린더 컨트롤을 추가했습니다.

<Calendar x:Name="DatesCalendar" SelectionMode="SingleRange" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" Margin="0,10" VerticalAlignment="Center" />

아이디어는 사용자가 날짜 범위를 선택하고 검색 버튼을 클릭하면 해당 범위에있는 데이터베이스에서 항목을 가져옵니다. 사용자가 검색 버튼을 클릭 할 때마다 달력 날짜가 선택 해제됩니다. 캘린더에서 포커스를 잃었을 때 마지막으로 선택한 날짜를 선택된 상태로 유지하고 싶습니다.

  • 답변 # 1

    이 문제에 대한 가능한 답변을 여기에서 읽었습니다. 완벽을 기하기 위해 제공된 정보를 복제합니다 :

    Calendar.SelectedDates  읽기 전용 속성입니다. 따라서 Binding 를 설정할 수 없습니다   XAML 에서 그것에 .

    그러나 다음과 같이 할 수 있습니다 :

    1) System.Windows.Interactivity.dll 추가  프로젝트 참조

    2) Microsoft.Expression.Interactions.dll 추가  프로젝트 참조

    3) 다음 namespace 를 추가하십시오  XAML접두사 :

    `xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"`
    `xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"`
    
    

    4)XAML:

    <sdk:Calendar Name="Cal" SelectionMode="MultipleRange" >
         <i:Interaction.Triggers>
             <i:EventTrigger EventName="SelectedDatesChanged">
                 <i:InvokeCommandAction Command="{Binding SelectionCommand}"
                                        CommandParameter="{Binding SelectedDates, ElementName=Cal}"/>
            </i:EventTrigger>
         </i:Interaction.Triggers>
    </sdk:Calendar>`
    
    

    5)ViewModel:

    public class ViewModel
    {
        public ViewModel()
        {
           this.SelectionCommand = new DelegateCommand<object>(this.SelectionChanges );
        }
        public ICommand SelectionCommand { get; private set; }
        private void SelectionChanges(object sender)
        {
                 SelectedDatesCollection dates = sender as SelectedDatesCollection;
        } 
    }
    
    

    나는 이것을 직접 테스트하지 않았다. 도움이 되나요? 이 답변 맨 위에있는 링크에 자세한 정보가 있습니다.

  • 이전 두 개의 레이블 사이에 여분의 공백이있는 문제 tkinter-python 3x
  • 다음 php - htaccess를 사용하여 URL 쿼리 문자열을 슬래시로 변환하고 단일 경로를 마스크하는 Wordpress