Установить фон отдельной ячейки DataGrid - PullRequest
0 голосов
/ 15 февраля 2012

Я хочу установить цвет фона конкретной ячейки. Строка выбирается в коде позади. Кажется, что свойство IsSelected не работает, хотя ячейка выделяется в коде с помощью свойства CurrentCell dataGrid. Работает только по форме.

XAML:

 <Style x:Key="CellStyle" TargetType="{x:Type dg:DataGridCell}">  
        <Style.Triggers> 
            <Trigger Property="IsSelected" Value="True">  
                <Setter Property="Background" Value="Yellow" /> 
            </Trigger> 
        </Style.Triggers> 
    </Style> 

Код:

dg.CurrentCell = new DataGridCellInfo(dg.Items[0],dg.Columns[0]);

dg.CellStyle = this.FindResource("CellStyle") as Style;

Ответы [ 2 ]

0 голосов
/ 15 февраля 2012

Попробуйте это:

Вы можете установить стиль ячейки в xaml:

<DataGrid CellStyle="{StaticResource CellStyle}"

А потом:

   var dataGridCellInfo = new DataGridCellInfo(dataGrid.Items[0], dataGrid.Columns[0]);
   dataGrid.SelectedCells.Clear();
   dataGrid.SelectedCells.Add(dataGridCellInfo);
0 голосов
/ 15 февраля 2012

попробуйте этот пример кода, он работает для меня

public Window8() {
  this.InitializeComponent();

  this.Loaded += (sender, args) =>
                    {
                      var cellStyle = this.FindResource("CellStyle") as Style;
                      this.dg.CellStyle = cellStyle;
                      this.dg.SelectedIndex = 0;
                    };
}

<Window.Resources>
  <Style x:Key="CellStyle"
          TargetType="{x:Type DataGridCell}">
    <Style.Triggers>
      <Trigger Property="IsSelected"
                Value="True">
        <Setter Property="Background"
                Value="Yellow" />
        <Setter Property="Foreground"
                Value="Black" />
      </Trigger>
    </Style.Triggers>
  </Style>

</Window.Resources>

NOTE

стиль применяется ко всем ячейкам!

надеюсь, что этопомогает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...