WPF XAML颜色变换整理

WPF 颜色变换整理

  1. XAML选中颜色交互 在DataGrid中

    <DataGrid.cellStyle>
    	<Style TargetType="DataGridcell">
    		<Style.Triggers>
    			<Trigger Property="IsSelected" Value="True">  可以为CheckFlag去多选
    				<Setter Property="BorderThickness" Value="2" /> 设置边框每一边的线条的宽度
    				<Setter Property="BorderBrush" Value="White" />
    				<Setter Property="Background" Value="Black" />
    				<Setter Property="Foreground" Value="White" />
    			</Trigger>
    		</Style.Triggers>
    	</Style>
    </DataGrid.cellStyle>
    
    
    修改单独列的颜色   直接写在单独列下面
    <DataGridTextColumn.cellStyle>
    	<Style TargetType="DataGridcell">
    		<Style.Triggers>
    			<Trigger Property="IsSelected" Value="True">  
    				<Setter Property="BorderThickness" Value="2" /> 
    				<Setter Property="BorderBrush" Value="Transparent" />
    				<Setter Property="Background" Value="Black" />
    				<Setter Property="Foreground" Value="#00FCF8" />
    			</Trigger>
    			<Trigger Property="IsSelected" Value="false">  				
    				<Setter Property="Foreground" Value="Red" />
    			</Trigger>
    		</Style.Triggers>
    	</Style>
    </DataGridTextColumn.cellStyle>
    
  2. 默认选中第一行

    Dispatcher.Invoke(new Action(delegate()  
    { dataGrid.SelectedIndex = 0 ;}
    ),System.Windows.Threading.DispatcherPriority.ContextIdle);
    //Dispatcher跨线程访问 UI
    //进入了 .Net Framework 4.5 及以上的开发者们,建议使用 InvokeAsync 代替 BeginInvoke;
    //Dispatcher 通过创建一个隐藏的消息窗口来让一个个 Invoke 到此线程的任务按照优先级执行;
    //Invoke 使用 PushFrame 做到了不阻塞 UI 线程的等待。
    
    
原文地址:https://www.cnblogs.com/DingGuo/p/13254869.html