2015-07-21 222 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

請勿使用點擊事件。你可以改變背景顏色的風格:

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