WPF, Silverlight 및 XAML 독서노트 29 - 컨트롤의 11 - 고급 컨트롤

8296 단어 silverlight
이 섹션에서 설명하는 컨트롤은 원래 Control Tookits에 위치했다가 기본 프레임으로 이동하는 조합된 고급 컨트롤입니다.본문에서 우리는 이 중 일부 상용하는 것을 배울 것이다.
 
DataGrid 컨트롤(Silverlight 2.0)
DataGrid 컨트롤은 행렬형 데이터를 보여주는 스프레드시트와 유사합니다.또한 이 컨트롤을 데이터 원본에 연결할 수 있습니다.실제로 우리는 다음과 같은 속성을 자주 사용한다.

  • Name(x:Name): DataGrid 컨트롤의 이름을 이 속성으로 지정할 수 있습니다.

  • AutoGenerateColumns: DataGrid가 데이터에 바인딩될 때 필요한 행과 열이 자동으로 생성됩니다.

  • SelectMode 속성: DataGrid는 두 가지 선택 모드가 있습니다. 하나는 선택 모드이고, 하나는 한 번에 한 줄의 데이터를 선택하며, 다른 하나는 Ctrl이나 Shift 키를 누르면 여러 줄을 선택할 수 있습니다.이 속성을 DataGridSelectionMode로 설정합니다.Single에서 DataGrid는 단일 선택 모드이고 DataGridSelectionMode로 설정됩니다.Extended는 다중 선택 모드입니다.

  • SelectedItem: 이 속성은 현재 DataGrid에서 선택한 항목을 포함하고, 단일 선택 모드에서 이 속성은 Object 형식의 대상을 되돌려줍니다. 사용하기 전에 as 연산자를 사용하여 정확한 형식으로 변환해야 합니다.다중 선택 모드에서 이 속성은 System입니다.Collections.Ilist 형식의 집합입니다. 이 집합을 옮겨다니며 원하는 항목을 얻을 수 있습니다.

  • RowBackground/AlternatingRowBack: 이 두 속성을 설정하면 DataGrid가 배경색을 바꾸는 줄을 얻을 수 있습니다.두 속성 모두 SolidColorBrush 유형의 객체를 수락합니다.

  • DisplayIndex: 기본적으로 DataGrid의 열 표시 순서는 소스 객체의 속성 선언 순서이며, DisplayIndex 속성을 사용하여 열의 앞뒤 순서를 사용자화할 수 있습니다.이 속성은 DataGrid의 Columns 속성 중 하나이므로 다음과 같이 설정해야 합니다.
    datagridObj.Column[1].DisplayIndex = 0; 상기 코드는 기본 상태에서 두 번째 열을 첫 번째 열에 표시하는 것을 실현했다. 

  • 또한 앞서 설명한 여러 컨트롤과 같이 DataGrid는 데이터 템플릿을 통해 테이블의 데이터 표시 방식을 사용자 정의할 수 있으며 다음 간단한 코드를 통해 이 특성을 이해할 수 있습니다.
     1 <my:DataGrid x:Name="GrdHeadline" AutoGenerateColumns="True">
     2     <my:DataGrid.Columns>
     3         <my:DataGridTemplateColumn>
     4             <my:DataGridTemplateColumn.CellTemplate>
     5                 <DataTemplate>
     6                     <StackPanel Orientation="Vertical">
     7                         <TextBlock Text="123"></TextBlock>
     8                         <TextBlock Text="{Binding strHead}"></TextBlock>
     9                         <TextBlock Text="{Binding strPubDate}"></TextBlock>
    10                     </StackPanel>
    11                 </DataTemplate>
    12             </my:DataGridTemplateColumn.CellTemplate>
    13         </my:DataGridTemplateColumn>
    14 
    15         <my:DataGridTemplateColumn>
    16             <my:DataGridTemplateColumn.CellTemplate>
    17                 <DataTemplate>
    18                         <TextBlock Text="{Binding strLine}"></TextBlock>
    19                 </DataTemplate>
    20             </my:DataGridTemplateColumn.CellTemplate>
    21         </my:DataGridTemplateColumn>
    22     </my:DataGrid.Columns>
    23 </my:DataGrid>

    구체적인 데이터 템플릿의 XAML 문법은 군더더기 없이 my: DataGrid 컨트롤이 있는 명칭 공간을 도입했습니다. 이것은 루트 요소에서 다음과 같은 코드를 통해 이루어졌습니다. xmlns: my= "clr-namespace: System. Windows. Controls, assembly = System. Windows. Controls. Data"
     
    Calendar 컨트롤(Silverlight 2.0)
    달력 컨트롤은 지정한 달이나 지정한 달을 표시할 수 있으며, 달력 컨트롤에는 두 개의 화살표가 있어서 달이나 달을 전환할 수 있습니다.렌더링된 Calendar 컨트롤은 기본적으로 월별로 표시되며 당일 날짜가 강조표시됩니다.이 컨트롤에서 유용한 속성은 다음과 같습니다.
    DisplayDate 속성: 기본 강조 표시 당일 날짜가 아닌 특정 날짜를 사용자 정의해야 하는 경우 이 속성을 사용하여 지정할 수 있습니다.
    SelectedData 속성: 선택한 날짜가 없을 때null을 되돌려줍니다. 그렇지 않으면 DateTime 형식의 대상을 되돌려줍니다.이 속성을 통해 컨트롤에서 선택한 날짜를 설정할 수도 있습니다.
    BlackoutDates 속성: 이 속성은 선택할 수 없는 날을 설정하는 데 사용되며, 설정된 날짜 (세그먼트) 를 회색으로 바꾸어 선택할 수 없는 시간을 표시합니다.이 속성은 CalendarDateRangeCollection 형식으로 시간대를 추가할 수 있습니다.
    SelectableDateStart 및 SelectableDateEnd 속성: 이 두 조합에 사용되는 속성은 컨트롤에 표시할 시간을 설정합니다.
     
    DatePicker 컨트롤(Silverlight 2.0)
    DataPicker는 텍스트 상자와 Calendar 컨트롤의 결합체로 날짜를 직접 입력하거나 텍스트 상자를 클릭할 때 팝업되는 드롭다운 상자에서 날짜를 선택할 수 있는 텍스트 상자로 표시됩니다.날짜를 선택하면 이 작은 컨트롤이 닫히고, 날짜를 선택한 컨트롤이 팝업되고 닫히는 과정에서CalendarOpened와CalendarClosed 이벤트를 터치합니다.또한 직접 입력한 날짜 형식에 오류가 있으면 TextParseError 이벤트를 트리거합니다.

    좋은 웹페이지 즐겨찾기