WPF中datagrid不显示滚动条问题

WPF中DataGrid是自带滚动条的,当内容显示不下时可以使用滚动条显示。但是,开发中遇到了DataGrid一直不显示滚动条。之前也曾遇到过同类问题,再次经过查找,发现是StackPanel的原因,特此记录。

以下内容原文请参考:http://www.cnblogs.com/lhx880619/archive/2011/12/08/2281420.html

原因也比较简单 就是因为DataGrid嵌套在了StackPanel中,查看微软文档http://msdn.microsoft.com/zh-cn/library/ms754213,可以看出StackPanel实际上是在水平或者垂直方向正无穷大,导致datagrid认为它的父容器在垂直方向无穷大 所以就没法出现滚动条了,相信很多人都会出现这类情况 在datagrid外面套stackpanel布局吧,所以如果想出现滚动条 就千万别在datagrid外面套stackpanel布局 切记切记

时间: 2024-07-30 20:31:54

WPF中datagrid不显示滚动条问题的相关文章

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

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

EasyUI中datagrid实现显示、增加、 删除、 修改、 查询操作(后台代码C#)

2datagrid加载数据.代码如下所示 一.数据的显示 1新建HtmlPage2.html页面,引入相关文件.如下所示 <script src="easyui/js/jquery-1.8.2.min.js"></script>  <script src="easyui/js/jquery.easyui.min.js"></script>  <link href="easyui/css/themes/d

WPF中使用TextBlock显示长字符串的处理方法

原文:WPF中使用TextBlock显示长字符串的处理方法 在WPF中,有时候要显示长字符串,需要用到换行或者截短的情况,方法如下: 换行 可以使用<LineBreak/>标记换行: 可以用TextWrapping属性(如非特殊,推荐用这种方式,自动.自适应).它可以有NoWrap(不换行.缺省值).Wrap(换行).WrapWithOverflow(换行但允许超出文本块的宽度).WrapWithOverflow在换行的算法没办法确定如何正确换行(比如某个单词超长.换不换都超出宽度)时,允许行

WPF中DataGrid的ComboBox的简单绑定方式(绝对简单)

在写次文前先不得不说下网上的其他wpf的DataGrid绑定ComboBox的方式,看了之后真是让人欲仙欲死. 首先告诉你一大堆的模型,一大堆的控件模板,其实或许你紧紧只想知道怎么让combobox怎么显示出来而已. 惯例先上图: 达到这样的效果其实很简单,除了让数据模型之外紧紧只有几行代码. 先看数据模型: public class VModel : INotifyPropertyChanged { private string _Name; public string Name { get

Silverlight中DataGrid的显示指定列、修改默认列名和格式化日期数据和小数数据

一:DataGrid的显示指定列.修改默认列名 使用自动生成列,就会无区别的按缺省格式展示所有项目.除了bit类型,其他类型项目会以字符串形式展现. 通过设置Columns属性,可以选择性的显示列,以及显示的样式.在这里,我把Category,Supplier,Product和对应的ID去掉,指定显示的列: <sdk:DataGrid Name="dataGrid" AutoGenerateColumns="False" Margin="12&quo

WPF中关于自定义控件的滚动条鼠标停留在内容上鼠标滚轮滚动无效的问题

问题起因:在一个用户控件里放置了1个TreeView垂直顺序放置. 当用户控件中的内容超过面板大小时,滚动条会自动出现 ,但是只有当鼠标指示在右边滚动条的那一条位置时,才支持鼠标滚轴滚动. 点在控件内部时滚轴无效. 问题分析:由于设置了d:designheight,自定义控件的宽高都是随着父容器的变化而变化的,于是我将Height设为较小的固定高度时,发现鼠标停留在控件内容时,滚轮控制滚动条滚动是有效的.这就说明UI上显示的滚动条并非是这个自定义控件的,而是这个自定义控件所在的父容器的,这样也解

WPF中利用TreeView显示XML

背景: 写了一个CS工具,想在客户端打开一个文件夹浏览窗口显示服务器端的文件夹. 问题: 对现成的FolderBrowserDialog不知怎么应用到这种场景,只好自己写一个简陋的窗口.服务器端用的WCF,想着由服务器端传XML到客户端,用TreeView在客户端显示. 代码: XAML: <Window x:Class="WpfApplication1.MyFolderBrowserWindow" xmlns="http://schemas.microsoft.com

WPF中DataGrid只获取一次Tab

客户端程序中用到DataGrid,但是在用键盘操作时,DataGrid默认的tab行为是,第一行第一个cell获取焦点,之后按tab键焦点变化顺序是:当前行的一个cell进入到下一个cell,然后进入下一行,如此切换,直到到达DataGrid最后一行的最后一个cell,之后再按一次tab才退出DataGrid. 如此,太繁复,我希望的是第一次Tab进入DataGrid后,再按一次Tab即退出DataGrid. 我是如此实现: 1.设置DataGrid的属性 KeyboardNavigation.

WPF中DataGrid双击命令获取选中的ViewModel

xaml <DataGrid x:Name="myGrd" ItemsSource="{Binding SearchItems}" SelectedItem="{Binding SelectedItem}" SelectionMode="Single" SelectionUnit="FullRow"> <i:Interaction.Triggers> <i:EventTrigg