2012-02-18 4 views
0

이 작업을 수행하려고합니다. 사용자가 DataGrid에서 하나 이상의 셀을 선택하면 모든 중복의 배경색이 변경되어야합니다.. 선택 및 값에 따라 WPF DataGrid 셀의 배경색 변경

public MainWindow() 
{ 
    InitializeComponent(); 
    DataTable dt = CreateDataTable(); 

    dataGrid1.ItemsSource = dt.DefaultView; 
} 

그래서 내가 DataTable에 (10 행, 25 열)를 사용하여 데이터 그리드를 채우는 :

나는

<Window x:Class="NotesOnFretboard.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <DataGrid ItemsSource="{Binding}" AutoGenerateColumns="true" Margin="12,110,12,29" Name="dataGrid1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" IsReadOnly="True" /> 
    </Grid> 
</Window> 

코드 뒤에이 XAML 있습니다. 이 데이터 테이블에는 여러 중복 값이 ​​있습니다.

사용자가 DataGrid에서 하나 이상의 셀을 선택하면 모든 복제본의 배경색이 변경되어야합니다!

제발 도와주세요!

// 앤더스

+0

? 데이터 구조 란 무엇입니까? 이것은 데이터 구조에 반영하는 것이 훨씬 쉬울 수 있습니다. –

+0

데이터 구조는 ObservablCollection >입니다. Note는 클래스입니다. Note {public string Name {get; 세트; } public int Octave {get; 세트; } public int Midi {get; 세트; }} 그러나 DataGrid에 목록의 목록을 표시하는 방법을 찾지 못했기 때문에 Name 속성을 사용하여 DataTable을 만듭니다. 중복은 미디 속성에 있습니다 – Andis59

답변

1

당신이해야이 포괄적 인 가이드를 그 점검을 달성하기 위해 트리거를 사용하여 수 : Styling Microsoft’s WPF datagrid

그것을 강조해야하는지 여부를 나타내는 속성을 가질 수 있도록 당신은 당신의 컬렉션 클래스를 변경할 수
+0

답장을 보내 주셔서 감사합니다! 나는 이것을 가지고 시험해 볼 것이다 ... – Andis59

1

또는 변환하지 않은 다음 해당 속성을 변환기를 통해 색상을 변경하려는 요소 속성에 바인딩합니다. 원하는 항목에 따라 선택/클릭하고 ItemSource 'selected'속성을 true/false로 변경할 수 있습니다.

그래서 같은 : 당신이 결합하는 것을

<sdk:DataGrid x:Name="NoteList" 
    AutoGenerateColumns="False" 
    GridLinesVisibility="None" 
    HeadersVisibility="None" 
    IsReadOnly="True" 
    ItemsSource="{Binding NoteList,Mode=OneWay}"> 
    <sdk:DataGrid.Columns> 
     <sdk:DataGridTemplateColumn Width="Auto"> 
      <sdk:DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <TextBox Text="{Binding NoteDescription, Mode=OneWay}" 
          Background="{Binding NoteHighlighted, 
           Converter={StaticResource BooleanToColourConverter}}"/> 
       </DataTemplate> 
      </sdk:DataGridTemplateColumn.CellTemplate> 
     </sdk:DataGridTemplateColumn> 
    </sdk:DataGrid.Columns> 
</sdk:DataGrid> 
관련 문제