■ TableView 엘리먼트 : DataRowTemplateSelector 속성을 사용해 데이터 행 템플리트를 선택하는 DataTemplateSelector 설정하기

----------------------------------------------------------------------------------------------------

XAML

 

<Grid

    xmlns:local="clr-namespace:HowToSelectTemplatesBasedOnCustomLogic"

    xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid">

    <Grid.Resources>

        <local:RowDataTemplateSelector x:Key="RowDataTemplateSelectorKey" />

        <DataTemplate x:Key="EvenRowDataTemplateKey">

            <Border

                Margin="3"

                CornerRadius="5"

                Background="Blue">

                <TextBlock

                    Margin="5"

                    Foreground="White"

                    Text="{Binding DataContext.IssueName}" />

            </Border>

        </DataTemplate>

        <DataTemplate x:Key="OddRowDataTemplateKey">

            <Border

                Margin="3"

                CornerRadius="5"

                Background="Orange">

                <TextBlock

                    Margin="5"

                    Foreground="White"

                    Text="{Binding DataContext.IssueName}" />

            </Border>

        </DataTemplate>

    </Grid.Resources>

    <dxg:GridControl x:Name="gridControl"

        AutoGenerateColumns="AddNew">

        <dxg:GridControl.View>

            <dxg:TableView

                ShowIndicator="False"

                ShowGroupPanel="False"

                ShowColumnHeaders="False"

                ShowHorizontalLines="False"

                DataRowTemplateSelector="{StaticResource RowDataTemplateSelectorKey}" />

        </dxg:GridControl.View>

    </dxg:GridControl>

</Grid>

 

C#

 

using System.Windows;

using System.Windows.Controls;

 

using DevExpress.Xpf.Grid;

 

/// <summary>

/// 행 데이터 템플리트 선택자

/// </summary>

public class RowDataTemplateSelector : DataTemplateSelector

{

    //////////////////////////////////////////////////////////////////////////////////////////////////// Method

    ////////////////////////////////////////////////////////////////////////////////////////// Public

 

    #region 템플리트 선택하기 - SelectTemplate(utem, container)

 

    /// <summary>

    /// 템플리트 선택하기

    /// </summary>

    /// <param name="item">항목</param>

    /// <param name="container">컨테이너</param>

    /// <returns>DataTemplate 객체</returns>

    public override DataTemplate SelectTemplate(object item, DependencyObject container)

    {

        RowData          rowData                   = item      as RowData;

        FrameworkElement containerFrameworkElement = container as FrameworkElement;

 

        if(rowData != null && containerFrameworkElement != null)

        {

            return rowData.EvenRow ? containerFrameworkElement.FindResource("EvenRowDataTemplateKey") as DataTemplate :

                                     containerFrameworkElement.FindResource("OddRowDataTemplateKey" ) as DataTemplate;

        }

 

        return base.SelectTemplate(item, container);

    }

 

    #endregion

}

----------------------------------------------------------------------------------------------------

'DevExpress > WPF' 카테고리의 다른 글

[DEVEXPRESS/WPF] DXSerializer 클래스 : AllowPropertyEvent 첨부 이벤트를 사용해 수동으로 수동으로 직렬화 항목 설정하기  (0) 2014.03.24
[DEVEXPRESS/WPF] GridControl 엘리먼트 : TotalSummaryGeneratorTemplate 속성을 사용해 TOTAL SUMMARY을 정의하는 DataTemplate 설정하기  (0) 2014.03.24
[DEVEXPRESS/WPF] TableView 엘리먼트 : TotalSummaryItemTemplate 속성을 사용해 TOTAL SUMMARY 항목을 정의하는 DataTemplate 설정하기  (0) 2014.03.23
[DEVEXPRESS/WPF] GridColumn 엘리먼트 : CellTemplate 속성을 사용해 셀을 정의한 DataTemplate 설정하기  (0) 2014.03.23
[DEVEXPRESS/WPF] GridControl 클래스 : CustomUnboundColumnData 이벤트를 사용해 언바운드 컬럼 처리하기  (0) 2014.03.23
[DEVEXPRESS/WPF] TableView 엘리먼트 : DataRowTemplateSelector 속성을 사용해 데이터 행 템플리트를 선택하는 DataTemplateSelector 설정하기  (0) 2014.03.23
[DEVEXPRESS/WPF] GridControl 엘리먼트 : 셀 스타일 재정의하기  (0) 2014.03.23
[DEVEXPRESS/WPF] IValueConverter 인터페이스 : 정수→선형 그라디언트 브러시 값 변환자 만들기  (0) 2014.03.23
[DEVEXPRESS/WPF] GridRowContent 엘리먼트 : 포커스 행 스타일 설정하기  (0) 2014.03.23
[DEVEXPRESS/WPF] CellContentPresenter 엘리먼트 : 포커스 셀 스타일 설정하기  (0) 2014.03.23
[DEVEXPRESS/WPF] TreeListDragDropManager 클래스 : Drop 이벤트를 사용해 드래그 & 드롭 처리하기  (0) 2014.03.23
Posted by 사용자 icodebroker

댓글을 달아 주세요