최고의 답변자
GridView 사용시 컬럼 Header 및 Line 적용 에 대하여 질문드립니다.

질문
-
GridView 를 사용하여 단순한 List 생성시 각 각의 Column Header 를 생성하여 클릭 이벤트를 걸고자 합니다.
해당 동작에 대한 예제가 있는지 질문드립니다.
또 하나 더 질문을 하자면 GridView를 생성할 경우 기본적으로 Cell 에 대해 외곽선 처리가 되지 않아 각 각의 컬럼에 대하여 외곽선 처리를 하고
싶은데 어떻게 해야 할지도 질문드립니다.
메트로 UI 는 하루에 하나씩 모르는게 나오는 군요... ㅠㅠ
기존 DataGrid처럼 작업을 해야 하는데...
답변
-
아 질문이 하나 더 있었군요.
지금 구현 내용을 모르기 때문에 이것도 그냥 간단히 드리자면, 아래와 같이 <Border>를 이용하여 그리드 아이템을 구성하는 내용물을 감싸면 됩니다.
<Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="200" Height="110" BorderThickness="1" BorderBrush="Red" > <StackPanel Grid.Column="1" VerticalAlignment="Top" Margin="10,0,0,0"> <TextBlock Text="{Binding Title}" Style="{StaticResource TitleTextStyle}" TextWrapping="NoWrap"/> <TextBlock Text="{Binding Subtitle}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap"/> <TextBlock Text="{Binding Description}" Style="{StaticResource BodyTextStyle}" MaxHeight="60"/> </StackPanel> </Border>
모든 응답
-
그냥 샘플만 달라고 하시면 답변을 얻으시기가 어렵습니다.
질문하기는 쉽습니다만 답변을 다시는 분들은 어디서부터 어디까지 드려야 하는 것인지 막막합니다.현재까지 어떻게 구현하셨으며, 그 때 원하는 기능의 구현을 어떻게 할 수 있는가 물으시는 것이 좋은 답변을 얻을 수 있는 길이 아닌가 합니다.
Column Header 이벤트 구현에 대해서 가장 쉬운 답변을 드리자면 다음과 같습니다.
ListView나 GridView에는 다음과 같이 헤더를 추가하고 이벤트를 추가할 수 있습니다.
<GridView.Header> <TextBlock Text="TITLE" Margin="240,0,0,0" PointerPressed="TextBlock_PointerPressed"/> </GridView.Header>
private void TextBlock_PointerPressed(object sender, PointerRoutedEventArgs e) { // 코드 추가 }
헤더를 추가하는 방법은 여러 가지가 있기 때문에 그대로 적용이 안 될 수도 있습니다.
참고되시길 바랍니다.
-
아 질문이 하나 더 있었군요.
지금 구현 내용을 모르기 때문에 이것도 그냥 간단히 드리자면, 아래와 같이 <Border>를 이용하여 그리드 아이템을 구성하는 내용물을 감싸면 됩니다.
<Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="200" Height="110" BorderThickness="1" BorderBrush="Red" > <StackPanel Grid.Column="1" VerticalAlignment="Top" Margin="10,0,0,0"> <TextBlock Text="{Binding Title}" Style="{StaticResource TitleTextStyle}" TextWrapping="NoWrap"/> <TextBlock Text="{Binding Subtitle}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap"/> <TextBlock Text="{Binding Description}" Style="{StaticResource BodyTextStyle}" MaxHeight="60"/> </StackPanel> </Border>