2015-07-21 7 views
-2

Я пишу в коде, что если я выбрал строку, это изменение цвета фона строки. Но у меня проблема, если я дважды нажимаю на строку, цвет изменения фона снова. Неважно, сколько кликов я делаю, мне нужно получить тот же цвет фона. Может быть, кто-то знает, как это сделать?WPF двойной щелчок изменить строку цвет фона

XAML:

<DataGrid x:Name="lbPersonList" VerticalScrollBarVisibility="Visible" AlternationCount="2" AutoGenerateColumns="False" 
       GridLinesVisibility="None" CanUserAddRows="False" SelectionMode="Single" 
       HeadersVisibility="Column" ScrollViewer.CanContentScroll="False" MouseDoubleClick="lbPersonList_MouseDoubleClick_1"> 

.cs:

private void lbPersonList_MouseDoubleClick_1(object sender, MouseButtonEventArgs e) 
    { 
     FrameworkElement originalSender = e.OriginalSource as FrameworkElement; 
     if (originalSender != null) 
     { 
      var row = originalSender.ParentOfType<GridViewRow>(); 
      if (row != null) 
      { 
       row.Background = new SolidColorBrush(Colors.Red); 
      } 
     } 
    } 
} 

Также я получил ошибку за недостающее пространство имен для ParentOfType(). Я пытаюсь использовать Sytem.Web.UI.WebControls, но показывается его не существует

+0

Пожалуйста, покажите, что вы пробовали! –

+0

Сообщение было отредактировано – LTU

ответ

0

Не используйте события click. Вы можете изменить цвет фона в стиле:

<Style TargetType="{x:Type DataGridRow}"> 
    <Style.Triggers> 
     <Trigger Property="IsSelected" Value="True"> 
     <Setter Property="Background" Value="Red"/> 
     </Trigger> 
    <Style.Triggers> 
</Style> 

 Смежные вопросы

  • Нет связанных вопросов^_^