wpf 获取DataGrid某一个单元格,设置此单元格ToolTip内容和背景颜色

public void GetCell()
        {
            for (int i = 0; i < this.datagrid1.Items.Count; i++)
            {
                DataRowView drv = datagrid1.Items[i] as DataRowView;
                DataGridRow row = (DataGridRow)this.datagrid1.ItemContainerGenerator.ContainerFromIndex(i);
                if (i == 1)//如果行号等于1
                {
                    DataGridCellsPresenter presenter = GetVisualChild<DataGridCellsPresenter>(row);
                    DataGridCell cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(1);//获取列号为1
                    cell.Background = new SolidColorBrush(Colors.Red);

       Tooltip tip=new Tooltip();

       tip.context="1234";

       cell.Tooltip=tip;
                }
            }
        }

public static T GetVisualChild<T>(Visual parent) where T : Visual
        {
            T childContent = default(T);
            int numVisuals = VisualTreeHelper.GetChildrenCount(parent);
            for (int i = 0; i < numVisuals; i++)
            {
                Visual v = (Visual)VisualTreeHelper.GetChild(parent, i);
                childContent = v as T;
                if (childContent == null)
                {
                    childContent = GetVisualChild<T>(v);
                }
                if (childContent != null)
                {
                    break;
                }
            }
            return childContent;

}

//防止在取datagrid的row时出现错误,在Window_Loaded事件里面调用

public void Loed()

{

    if (!Window.GetWindow(dataGrid1).IsVisible)
    {
    Window.GetWindow(dataGrid1).Show();
    }
    dataGrid1.UpdateLayout();

}

时间: 2024-10-22 04:32:36

wpf 获取DataGrid某一个单元格,设置此单元格ToolTip内容和背景颜色的相关文章

wpf 中DataGrid 控件的样式设置及使用

本次要实现的效果为: 这个DataGrid需要绑定一个集合对象,所以要先定义一个Experience类,包含三个字段 /// <summary> /// 定义工作经历类 /// </summary> public class Experience { /// <summary> /// 获取或设置工作的起始时间 /// </summary> public string Start { get; set; } /// <summary> /// 获

wpf 获取datagrid中模板中控件

//获取name为datagrid中第三列第一行模板的控件 FrameworkElement item = dataGrid.Columns[3].GetCellContent(dataGrid.Items[0]); DataGridTemplateColumn temp = dataGrid.Columns[3] as DataGridTemplateColumn; //img是模板的name object c= temp.CellTemplate.FindName("img", i

Windows 10设置桌面图标间距、窗口的背景颜色、选中文字的背景颜色

Windows 10取消了“高级外观设置”(或者叫“窗口颜色和外观”设置),想调整一些参数只能进注册表了. 按Win+R,然后输入regedit进入注册表编辑器. 桌面图标间距 找到这里:HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics 桌面图标水平间距: IconSpacing,默认值大概是-1125,想缩小间距就改大一些,比如-800. 桌面图标垂直间距: IconVerticalSpacing,同上. 窗口的背景颜色 找到这里:HK

android中设置ListView的选中的Item的背景颜色

ListView中没有默认的选择颜色,只有选择Item后的焦点颜色,鼠标点击时Item有颜色,放开鼠标后颜色也就没有了,要实现放开鼠标后选择项的背景还是有颜色的. 1.配置main.xml Java代码   <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

原生JS写了一个小demo,根据输入的数字生成不同背景颜色的小方块儿~

昨天练习写了这个小demo,个人觉得通过设置定位元素left和top的值,来实现换行的功能,这种方法很巧妙~ 另外,如下代码中的随机颜色的获取,还请各位前辈多多指教:需要改进的地方:或者有没有更好的方法. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <style type="text

JavaScript基础 通过style属性设置div的高度,宽度,背景颜色

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"

Silverlight DataGrid数据行背景颜色控制

sdk:DataGrid数据绑定后,部分特殊的行需要用不同的背景颜色来显示.(注册DataGrid的LoadingRow事件) 1 private void radGridView_LoadingRow(object sender, DataGridRowEventArgs e) 2 { 3 4 //获取当前加载的行标(从0开始) 5 int i = e.Row.GetIndex(); 6 7 //获取DataGrid绑定的数据集合 8 ObservableCollection<CntrMstM

WPF:获取DataGrid控件单元格DataGridCell

转载:http://blog.csdn.net/jhqin/article/details/7645357 /* ---------------------------------------------------------- 文件名称:DataGridPlus.cs 作者:秦建辉 MSN:[email protected] QQ:36748897 博客:http://blog.csdn.net/jhqin 开发环境: Visual Studio V2010 .NET Framework 4

为每一个table单元格设置不同的背景颜色

为每一个table单元格设置不同的背景颜色: 本章节介绍一下如何给表格的每一个单元格设置一个背景颜色,当然这里的方法比较笨拙,主要面向初学者. 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <tit