WPF DataGrid 如何动态设置单行高度

WPFDataGrid如何动态设置任意单行高度、字体、字号等样式,或者有什么控件替代DataGrid也可以,在线等……... WPF DataGrid 如何动态设置任意单行高度、字体、字号等样式,或者有什么控件替代DataGrid 也可以,在线等…… 展开
 我来答
百度网友96ffcf7
推荐于2016-01-05 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22719 获赞数:118726
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
  方法一:根据ActualHeight设置Textblock的Height
  ActualHeight为元素的实际高度,与控件实际高度Height不同。
  在页面的LayoutUpdated事件里,设置TextBlock控件的Height等于其自身的ActualHeight。
  效果: 在DataGrid的行中没有起作用。
  Actual在其他地方可能会有奇效。
  方法二:在页面的LayoutUpdated事件里,设置DataGrid的RowHeight=double.NaN
Mickal小米
2013-06-19 · TA获得超过3667个赞
知道大有可为答主
回答量:1542
采纳率:100%
帮助的人:1786万
展开全部
动态设置是不是指通过交互去改变显示方式呢?!如果是这样,可以通过以下方式:
举个例子
通过SelectionChanged获取datagridrow对象可以这么写(dg为DataGrid名称,t为你选中的实体对象)
private void dg_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
TestDemo t = dg.SelectedItem as TestDemo;
if (t != null)
{
DataGridRow dr = (DataGridRow)(dg.ItemContainerGenerator.ContainerFromItem(t));
dr.Background = new SolidColorBrush(Colors.Yellow);
dr.height= ...;
}
}
更多追问追答
追问
有点差别,我从数据库里读出 DataTable 赋给 DataGrid ,可能包含几行数据,现在想后台直接设置前两行的高度,其他行不变,要怎么操作呢,顺便问一下这种情况调整单个列宽怎么做呢
追答
这样啊,就用一楼给的方法就行了。
在DataGrid的LoadingRow事件中判断是不是第一行和第二行,是的话设置e.Row.Height。
列宽设置放在前台设置就好啦。固定,自适应,auto都行的,默认是auto的。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-19
展开全部
在DataGrid的LoadingRow事件中
使用 e.Row.Item里的数据进行判断,Item里的事这个行显示的数据。
如果找到想修改数据的行就进行修改。
比如:
e.Row.Height = double数字;
e.Row.FontSize = double数字;
等等Row能获取的属性都能修改。
追问
如果DataGrid中有几个列,我想后台直接设置前两列的宽度,问一下这种情况调整单个列宽怎么做啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式