wpf DATAGRID 滚动条的问题

页面上外层有一个滚动条,是页面级的滚动条,里面有表格组件(datagrid)。

 当页面内容多向下滚动时,一切正常。但是如果滚动到datagrid上面时,

 datagrid虽然没有出现滚动条,但是感觉它也自动获得了焦点,这个时候,页面滚动条就滚不动了。

 寻求高手,能不能帮帮忙看看是什么问题,怎么才能规避掉这个问题。

 代码:
 XAML:
     <ScrollViewer VerticalScrollBarVisibility="Visible"  IsTabStop="True" CanContentScroll="True">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="400"/>
            <RowDefinition Height="200"/>
            <RowDefinition Height="200"/>
        </Grid.RowDefinitions>
     <Grid Background="Red">
            <DataGrid ItemsSource="{Binding}" ScrollViewer.CanContentScroll="True" 
              CanUserReorderColumns="False"
              CanUserSortColumns="False" Focusable="False"
              IsReadOnly="True" AutoGenerateColumns="False" x:Name="dataGrid1" Margin="0,69,0,183">
        <DataGrid.Columns>
            <DataGridTextColumn Header="String" Binding="{Binding String}" Width="200"/>
            <DataGridTextColumn Header="Int" Binding="{Binding Int}" Width="100"/>
            <DataGridTextColumn Header="Double" Binding="{Binding Double}" Width="auto"/>
        </DataGrid.Columns>
    </DataGrid>
</Grid>
        <TextBlock Grid.Row="1" Name="tb1" Text="{Binding X}"/>
        <TextBlock Grid.Row="1" Name="tb2" Text="{Binding Y}" Margin="600 0 0 0"/>
        <TextBlock Grid.Row="2" Text=""/>
    </Grid>

cs代码:
public Window1()
{
InitializeComponent();

        // Initialize the list
        List<TestRow> orders = new List<TestRow>();

        // Add random words
        Random r = new Random();
        for (int i = 0; i < 6; i++)
        {
            orders.Add(new TestRow() { String = GetRandomString(r, 25), Int = r.Next(), Double = r.NextDouble() });
        }

        // Set the data context
        this.DataContext = orders;

        tb1.DataContext = this;
        tb2.DataContext = this;
    }

    public string GetRandomString(Random rnd, int length)
    {
        string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        StringBuilder sb = new StringBuilder();
        while (length-- > 0)
            sb.Append(chars[(int)(rnd.NextDouble() * chars.Length)]);
        return sb.ToString();
    }



            页面截图:
            ![图片说明](https://img-ask.csdn.net/upload/201705/07/1494164859_441370.png)
0

2个回答

帮助不了你,我也不知道!

0

DataGrid本身显示内容的区域就已经带了滚动条控件了,如果可以保证DataGrid的内容不需要滚动,可以重写DataGrid的ControlTemplate。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
WPF DataGrid自定义样式模板 列表头分隔线 滚动条滑块大小设定 动态数据绑定和更新
[ 效果图回去放,代码在后面 ][ 用到的一些定义如果没有附代码可以随便写个看下效果,因为直接从项目中copy出来的,难免漏掉点点... ]首先,有几点需要注意:1.表头样式 [ DataGridColumnHeader ]  默认带分割线,但每列表头左右分割线都占1px,也就是说假如有三列:a.  表格最左、右边应该不需要分割线,但默认的有1pxb.  中间需要1px分割线,但默认有2px(相邻...
WPF实战之DataGrid让滚动条不显示
在XAML DataGrid中 垂直滚动条不显示:ScrollViewer.HorizontalScrollBarVisibility="Hidden" 如果要其显示:ScrollViewer.HorizontalScrollBarVisibility="Visible" 横向滚动条不显示:ScrollViewer.VerticalScrollBarVisibility="Hidden" 如果要其
关于datagrid 垂直滚动条设置
很多事我们需要让datagrid  显示滚动条 js里面  onLoadSuccess: cellTipFilter,         //singleSelect:false,    rownumbers:true,//显示行号列 fitColumns:true,//折叠适合datagrid宽度 我没有把代码写全,大体上就是这个的。
DataGrid水平滚动条不显示无效
DataGrid的最后一列的宽度需要设置为Width=”auto”,如果设置宽度为固定值或者设置为*则水平滚动条不会显示出来。
wpf datagrid 滑动滚动条背景色自动变了 解决方法
今天遇到了一个奇怪的问题,在后台根据一个字段的值状态,重新给datagrid付值背景色后,由于数据太多,下拉滚动条后每行的背景色变了,随机的替换了 经过查阅资料,了解到WPF的DataGrid在默认情况下的数据绑定加载时动态加载的,只实例化屏幕内可见的数据;行头的内容是通过绑定实现的,但是滚动刷新时传入的DataGridRow并不是实际位置的行,而是虚拟的,造成行头显示内容错乱; 最直接的解决...
wpf datagrid滑动条
WPF 中在datagrid中使用滚动条显示所有数据。 初学,欢迎交流
DataGrid通过自动滚动来显示SelectedItem
DataGrid 控件如果手工操作选择某个项,则该项一定是可见的。但如果是通过绑定SelectedItem,则选择的项不一定可见。可以通过响应DataGrid的SelectedCellsChanged事件来使选中项可见。如下所示。 private void DataGrid_SelectedCellsChanged(object sender, SelectedCellsChange...
datagrid的列非常多的时候,而且没有表格数据,横向滚动条不会显示
datagrid的列非常多的时候,而且没有表格数据,横向滚动条不会显示,字段无法读取
问题以及解决------WPFDataGrid后台设置单元格背景色后,滑动滚动条背景色被还原
问题:在后台由代码,根据条件实时给某些单元格的背景色或者说是样式赋新值,但是在滑动滚动条后,发现之前设定好的背景色或者样式,被还原成了刚生成界面的样子。     解决方法:经过一番查找,个人觉得可以解决的方案有不少,一个是直接自定义模板(没有实践),另一个是利用IValueConverter,直接根据绑定的数据源变换,来动态改变(同样没有实践),大体就是这两种方法。      但是,由
WPF中的DataGrid的RowDetail显示问题
背景:.net 4.0中的DataGrid如果我们把RowDetail的内容弄的很大, 超出当前屏幕可显示的范围。那么当我们DataGrid按行滚动时,拖到滚动条只能看到下一行,前一行的rowDetail看不见的部分并不会因为拖到滚动条就能看到。原因我们也说了, 因为我们按照行滚动而不是按照像素滚动。解决方案:如果要看到RowDetails,只能按照像素滚动。 但在.net 4.0上,一旦设置
WPF 滚动条联动
闲话少说,直接上代码滚动条附加属性using System.Collections.Generic; using System.Windows; using System.Windows.Controls; namespace ScrollViewerSynchronization.Core { public sealed class ScrollSynchronizer { #regi...
flex datagrid 设置垂直滚动条自动滚动
可以在插入行的时候加上下面这句话this.datagrid.verticalScrollPosition=this.datagrid.maxVerticalScrollPosition; 不知道还有没有好的方法
easyui datagrid 显示横行滚动条
var datagrid = $('#datagridw').datagrid({ pageSize : 15, pageNumber : 1, fit:true, pagination : true, singleSelect:true, collapsible: true, rownumbers : true, loadMsg : '正在加载...', url : '....
WPF DATAGRID背景颜色滚动变化
发现WPF的DATAGRID背景颜色被设置后,滚动滚动条就会发生变化,数据少的时候没问题,有滚动条滚动就有问题。 增加 EnableRowVirtualization ="False"就可以了。 不显示的部分是不渲染的,导致了虚拟渲染的时候错乱。 ...
wpf DataGrid 自定义样式!
wpf DataGrid 自定义样式、控件模板 ControlTemplate
wpf 多选框 使用滚动条造成选中和取消选中
操作顺序: 1、手动选中 多选框,每列3个 2、滚动鼠标滚轮或下拉滚动条 3、返回查看之前选中的多选框。 问题的现象: 1、对于DataGridTemplateColumn 选中效果被丢失,剩余最后选中的行保持选中状态 2、对于DataGridCheckBoxColumn选中效果未丢失,滚动时有拖影效果 补充: 1、不使用DataGridCheckB...
WPF的scrollview滚动条设置及上一页下一页设置
WPF的scrollview滚动条设置,包括上一页下一页上一条吓一条设置
Flex DataGrid优化横向滚动条
DataGrid如果列太多,那么横向拉动很卡,优化如下: [url]http://blogs.adobe.com/aharui/2008/11/faster_datagrid_horizontal_scr.html[/url]
WPF ScrollViewer(滚动条) 仿苹果样式
仿苹果样式滚动条 http://www.cnblogs.com/lanymy/p/3242569.html
wpf listbox 滚动翻页功能
最近有个需求,需要通过 listbox滚动实现翻页功能。查了下资料 总结如下。 代码: 点击打开链接 方案一:利用ScrollViewer.ScrollChanged事件来实现当偏移量到底部时,进行相应操作。 xaml中 对应的事件 private void ListBox_ScrollChanged(object sender, ScrollChangedE
WPF中DataGrid自定义实现最后一行下面跟一个汇总行,类似MT4
WPF中DataGrid自定义实现最后一行下面跟一个汇总行,类似MT4
WPF ScrollViewer 滚动条鼠标移入移出及鼠标按下拖动时的外观样式
在WPF 中自定义ScrollViewer的样式实现的效果如下图所示:主要是鼠标移入显示滚动条,移出鼠标滚动条消失,按住拖拽改变滚动条外观颜色等; 关键点几个点是:1:在ScrollViewer 的自定义模板中 定义好如下几个事件触发器:   用于滚动条滚动时的触发显示; 用于响应鼠标移入时显示滚动条   用于响应鼠标移出时滚动条消失2:当按住滚动滑块时,滑块的外观颜色变化:    Scrol
wpf datagrid RowDetailsTemplate绑定点击按钮会有伸展收缩
wpf datagrid RowDetailsTemplate绑定点击按钮会有伸展收缩
ext grid 没有数据时不显示横向滚动条的解决办法
EXT Grid 没有数据时不显示横向滚动条的解决办法: this.grid.getView().mainBody.dom.style.width = this.grid.getView().getTotalWidth();this.grid.getView().mainBody.dom.style.height = '1px';注意:this.grid为创建的grid。 原理很简单哈,Ext...
WPF DataGrid的LoadingRow事件中进行行背景设置时,不满足条件的行也被设置背景的问题。
设置DataGrid 的VirtualizingStackPanel.VirtualizationMode=&quot;Standard&quot;可能是DataGrid虚拟化导致的问题,你可以尝试指定VirtualizingStackPanel.VirtualizationMode 为 Standard 或者 Recycling,请看以下文档:#VirtualizingStackPanel Classhttp://...
WPF ScrollViewer滚动条根据内容自动滚动到底部
WPF ScrollViewer包裹的容器中的如果出现动态填充,在填充的过程中需要最新填充的数据始终显示在UI上时,如果填充内容高度超出控件实际高度时,默认滚动条是不会进行垂直偏移设置的,新增加的内容也不会显示在UI上(内容自动网上顶),以下方法可实现内容自动网上顶。  public class ScrollViewerExtensions     {         public
easyui去掉datagrid的滚动条
工作过程中需要去掉滚动条这个功能,由于是特别小的知识点,所以在此记录,以防忘记。 带滚动条时,如果数据超过规定大小则出现滚动条,否则不出现 但滚动条所占的宽度依然存在,两种状态截图如下: 去掉滚动条的方法:打开jquery.easyui.min.js文件,找到wrap.width();所在位置,改为wrap.width()+20;即可。修改后截图:
WPF实战之DataGrid隐藏表头
<DataGrid x:Name="grid1" AutoGenerateColumns="False" HorizontalAlignment="Left" Margin="22,60,0,0" HeadersVisibility="None" VerticalAlignment="Top" Height="136" Width="1326" ItemsSo
【WPF】将DataGrid内容导出到Excel
引言在完成将DataGrid的内容导出到Excel的时候,参考了一个印度小伙的文章http://www.codeproject.com/Articles/120480/Export-to-Excel-Functionality-in-WPF-DataGrid,很清晰,结合着自己的实际项目写了这篇文章,分享给大家。步骤一:创建窗体,绘制datagrid这里不多讲,直接拖控件就行。二:为datagrid
使用jquery.easyui中$('.classname').datagrid表格滚动条不显示问题
对于easyui滚动条100℃很多,自己改了一上午,没找到解决问题的方法,再次给个代码没问题,滚动条不出现的解决方法.页面使用jquery.easyui-1.5.2.min.js;页面中标签可能冲突;在线引其他的jquery.easyui的样式,试试,解决滚动条问题;附上前端代码,供参考;;;在代码确定没问题的情况下可以试试(你一直很自信); $(function() { ...
easyui datagrid 查询只有一条数据时,被滚动条遮挡住 ie兼容
table 设置 min-height style=&quot;width:100%;min-height: 100px;&quot;
解决WPF 快速点击Datagrid出现异常问题
在WPF开发中最近遇到一个很变态的问题:快速点击Datagrid之后,再对Datagrid操作时会出现如下异常                                        private void dtgSchemeApp_PreviewMouseDown(object sender, MouseButtonEventArgs e)         {          ...
WPF DataGrid 性能加载大数据
WPF(Windows Presentation Foundation)应用程序在没有图形加速设备的机器上运行速度很慢是个公开的秘密,给用户的感觉是它太吃资源了,WPF程序的性能和硬件确实有很大的关系,越高档的机器性能越有优势。 DataGrid 加载大数据量时卡 : 1、数据库取数据耗时->优化sql 2、DataGrid 渲染耗时->DataGrid 的 EnableColumnVirt
easyui datagrid 多列无数据是不显示滚动条
$('#tt').datagrid({ collapsible:true, remoteSort:false, rownumbers:true, width:800, fit:true, striped: true, nowrap:false});
wpf datagrid 单元格颜色 根据datatable动态显示datagrid内容
wpf datagrid 单元格颜色 根据条件改变颜色换 根据表datatable动态显示datagrid内容
wpf listview 滚动条宽度设置
网上资料真的好少,找了很多都是更改样式,最后自己乱搞搞出来了。 滚动条的标签叫:ScrollBar ,但是ScrollBar不能写出来,否则会报错,但是如果listView控件它的数据比较多的时候,ScrollBar程序会自动加进去 。所以只需在资源文件中设置滚动条的样式就好了,下面贴代码 &amp;lt;ListView HorizontalAlignment=&quot;Left&quot; Height=&quot;280&quot;...
如何使easyui在没有数据的情况下显示滚动条
相信很多使用easyui控件的的朋友都发现,当easyui的datagrid控件在没有数据可加载的情况下,datagrid的横向滚动条是不会出现的,本人使用了easyui两年多(是公司的组件对easyui进行二次封装),很早已经发现这个问题,当时很明白这是easyui的本身问题,一直没管,上司也没要求要进行改进。直到最近项目的需求人员提出来,才去改进这个问题。 既然这是easyui
DataGrid绑定数字后无法输入小数点的解决办法
WPF中的DataGrid控件,用于显示列表数据,一般来说是很好用的。但是在使用过程中发现,我们发现DataGrid的列单元在绑定数字后,再编辑此列单元时,无法在数字后面键入小数点,这给终端用户带来很大的不便。在网上查了下,很多人碰到这个问题,但没有好的解决办法。 我们可以采用以下语句试验输入效果: &amp;lt;DataGridTemplateColumn.CellTemplate&amp;gt;   ...
wpf dataGrid 分页
wpf dataGrid 分页wpf dataGrid 分页wpf dataGrid 分页wpf dataGrid 分页wpf dataGrid 分页wpf dataGrid 分页wpf dataGrid 分页
WPF Datagrid Header数据绑定,表头复选框实现全选、全否、部分选中,根据条目动态变化
制作一个表头为CheckBox可全选、全不选的列表,且可根据条目自动调整CheckBox的状态(选中、不选、部分选中)。 本来是想用DataGrid做一个CheckBox的列用于勾选其中的某些行,当时做出来之后想着添加一个全选、全否的功能。做两个按钮觉得太丑,就想着在标题栏做一个CheckBox实现此功能。开始不用会用模板,网上查了些资料可以用以下方式实现: 1、通过DatGridTe