Добавление кнопок в ячейку Datagrid WPF - PullRequest
0 голосов
/ 22 мая 2019

Я хочу создать элемент управления DataGrid в WPF, в котором есть 4 кнопки в последнем столбце.Мне нужно изменить цвет фона каждой кнопки для каждой строки независимо.

 <DataGridTemplateColumn  Header="Progress">    
  <DataGridTemplateColumn.CellTemplate>    
    <DataTemplate>
      <StackPanel Name="spBtnDG" Orientation="Horizontal">
       <Button Name="btnPhaseI" MouseEnter="btnPhaseI_MouseEnter"      Width="110" Height="8"  Content=""/>
       <Button Name="btnPhaseII" MouseEnter="btnPhaseII_MouseEnter"  Width="110" Height="8" Content="" />
       <Button Name="btnPhaseIII" MouseEnter="btnPhaseIII_MouseEnter"   Width="110" Height="8" Content="" />
       <Button Name="btnPhaseIV"  MouseEnter="btnPhaseIV_MouseEnter" Width="110" Height="8" Content="" />
      </StackPanel>
     </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
   </DataGridTemplateColumn>

Когда я изменю цвет фона для первой кнопки, он изменит цвет фона для каждой первой кнопки в каждой строке.Мне нужно иметь возможность изменить его для каждого ряда в отдельности.Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 22 мая 2019

В функции для события MouseEnter необходимо преобразовать свойство Source в объекте MouseEventArgs в Button и сохранить его как переменную.Тогда вы можете изменить его фон.Пример:

private void btnPhaseI_MouseEnter(object sender, MouseEventArgs e)
{
  var btn = (Button)e.Source;
  btn.Background = Brushes.Aqua;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...