项目中经常遇到一些问题,这些问题可能很简单,但是之前从未遇到,可能经过了一番谷歌,也可能是查阅了MSDN,或是借鉴了大牛博客,逐渐有了些眉目,为了将这些东西落地,也为了将来之不易的东西记录下来,以备今后查看,也希望能偶尔帮到一下遇到同样问题的同仁,带着这样的目的开始了我的TestProjects系列。

这个系列就是一系列的Demo,带着明确的目的写的Demo,这些东西可能是常见用法的一个记录,也可能是一个简单的API接口,也可能是平时认识的盲区,也可能。。总之,可能对今后有帮助的,都在这里被记录。

************************************那么 就从这里开始吧******************************************************

问题描述:WPF中DataGrid横向滚动条无法拖动
进一步观察:列头拖动大小的时候到最右端就不能继续再拖,始终无法超出DataGrid范围
测试代码

<Window x:Class="DataGridTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TabControl>
<TabItem Header="会出现横向滚动条">
<Grid>
<Grid.RowDefinitions >
<RowDefinition Height="15"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<DataGrid x:Name="testDataGrid"
HorizontalScrollBarVisibility="Visible"
AutoGenerateColumns="False"
Grid.Row="1">
<DataGrid.Columns>
<DataGridTextColumn Header="header1" Binding="{Binding Data1}" Width="auto"/>
<DataGridTextColumn Header="header2" Binding="{Binding Data2}" Width="auto"/>
<DataGridTextColumn Header="header3" Binding="{Binding Data3}" Width="auto"/>
<DataGridTextColumn Header="header4" Binding="{Binding Data4}" Width="auto"/>
<DataGridTextColumn Header="header5" Binding="{Binding Data5}" Width="auto"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</TabItem>
<TabItem Header="不会出现横向滚动条">
<Grid>
<Grid.RowDefinitions >
<RowDefinition Height="15"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="123123"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
<DataGrid x:Name="testDataGrid2"
HorizontalScrollBarVisibility="Visible"
VerticalScrollBarVisibility="Visible"
AutoGenerateColumns="False"
Grid.Row="1">
<DataGrid.Columns>
<DataGridTextColumn Header="header1" Binding="{Binding Data1}" Width="0.2*"/>
<DataGridTextColumn Header="header2" Binding="{Binding Data2}" Width="0.2*"/>
<DataGridTextColumn Header="header3" Binding="{Binding Data3}" Width="0.2*"/>
<DataGridTextColumn Header="header4" Binding="{Binding Data4}" Width="0.2*"/>
<DataGridTextColumn Header="header5" Binding="{Binding Data5}" Width="0.2*"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</TabItem>
</TabControl>
</Grid>
</Window>

XAML

using System.Collections.Generic;
using System.Windows; namespace DataGridTest
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
IList<DataSourceEntity> entitys = new List<DataSourceEntity>();
for (int i = ; i < ; i++)
{
entitys.Add(new DataSourceEntity(i * ));
}
testDataGrid.ItemsSource = entitys;
testDataGrid2.ItemsSource = entitys;
}
} public class DataSourceEntity
{
public DataSourceEntity(int i)
{
Data1 = i;
Data2 = i;
Data3 = i;
Data4 = i;
Data5 = i;
Data6 = i;
}
public int Data1 { get; set; }
public int Data2 { get; set; }
public int Data3 { get; set; }
public int Data4 { get; set; }
public int Data5 { get; set; }
public int Data6 { get; set; }
} }

CodeBehind

结论

  /*
     * 目的:探测滚动条何种情况不会滚动
     *
     * 结论:
     * 蛋疼的设计,当DataGrid列宽按比列指定的时候,resize列宽,最大不会超过DataGrid宽度,所以无论
     * 如何都不会出现滚动条,要想使用,需要指定列的宽度,或者设置为Auto也是可以的
     * 此外,影响是否出现滚动条的因素还有很多,例如放到Grid中后,Grid高宽如果使用了Auto,
     * 初始化的时候也是不会显示的,这种比较容易发现,因为使用HorizontalScrollBarVisibility或者
     * VerticalScrollBarVisibility还是很容易发现滚动条位置的
     */

DataGrid横向滚动条无法拖动的问题的更多相关文章

  1. WPF:解决DataGrid横向滚动条无法显示的问题

    DataGrid的最后一列的宽度设置为“Width=”auto””即可. 如果显示指定长度或者设置为“*”,那么不管怎么拖动列头,或者不管行里面的内容有没有超过DataGrid的显示区域,DataGr ...

  2. easyui datagrid 横向滚动条

    要出现横向滚动条则不能有fitColumns:true/false

  3. WPF,解决Listbox,按住ListboxItem向下拖出Listbox,横向滚动条跑到最后。

    类似这种样式的控件,.,在横向滚动条隐藏的情况下有这样的问题.(横向滚动条显示的时候也会,,目前不知道怎么解决.) 因为这个控件偏移是利用ListBox的ItemsPanelTemplate模版里的S ...

  4. jquery横向滚动条

    此代码献给wendy 由于工作太忙,下次再整理成插件调用,先记录下来,欢迎同学们提意见. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr ...

  5. table左边固定-底部横向滚动条

    是日有需求,曾探讨过table表单头部.尾部固定不动,中间内容随着滚动条的滚动而变化. 整合资料之际,发现有很多表格,表单展现中,横向数据很多.很长,不方便查看. 则,横空霹雳出了,此款:table表 ...

  6. UI组件--element-ui合计行在横向滚动条下面的解决方法

    使用element-ui合计功能, 因列数较多, 产生横向滚动条: 但是合计行却在滚动条下面, 拖动滚动条合计行不会跟着横向滚动. 在当前页面添加以下样式: <style lang='less' ...

  7. css 横向滚动条webkit-scrollbar

    最近遇到一个横向滚动条的问题: 官网链接: https://developer.mozilla.org/zh-CN/docs/Web/CSS/::-webkit-scrollbar 这个 ::-web ...

  8. android 横向滚动条

    /*** * 横向滚动条,修改版,从左向右滚动,支持html代码和html里面的网络图片 */public class MarqueeView extends LinearLayout { priva ...

  9. 逆天的IE7中,诡异的横向滚动条

    今天老邹我又要吐槽IE7了,这个奇葩浏览器总是不让省心.这回遇到的问题,灰常难发现是怎么回事,不过还是让我发现原因,哈哈,只要原因去干掉这个问题比躲避问题用别的办法绕开要爽的多啊. 首先我还是介绍下, ...

随机推荐

  1. NYOJ -37回文字符串

    这道题看了好大会没有思路,上网一搜发现这么简单,但是我为什么就想不到呢,??就是求和它的逆序之后的字符串最长公共子序列,然后用总的长度减去它就行了.原因是是因为只要是在公共子序列里面,那么他就是对称的 ...

  2. 简单dp --- HDU1248寒冰王座

    题目链接 这道题也是简单dp里面的一种经典类型,递推式就是dp[i] = min(dp[i-150], dp[i-200], dp[i-350]) 代码如下: #include<iostream ...

  3. Js实现简单的联动,无数据库版本

    <html> <head> <title></title> <script language="javascript" typ ...

  4. (@DBRef)spring-data-mongodb

    @DBRef用在哪些地方 已知的有 @DBRefprivate Shop product; @DBRefprivate List<Account> accounts;    如果不加@DB ...

  5. spring的xml的property和constructor-arg的解析

    参考文档: http://zzy7182.iteye.com/blog/1153473

  6. PL/SQL客户端安装配置说明

    一.电脑安装了多个Oracle客户端时,需要设定pl/sql 中的home 二.配置环境变量: (打开环境变量配置界面操作:我的电脑---属性---高级---环境变量,在系统变量部分新建或编辑即可.w ...

  7. MongoDB与PHP的添加、修改、查询、删除

    链接数据库使用下面的代码创建一个数据库链接 <?php$connection = new Mongo(); //链接到 localhost:27017$connection = new Mong ...

  8. Jquery中dialog属性小记

    代码如下: $('#dialogDiv').dialog( { hide:true, //点击关闭是隐藏,如果不加这项,关闭弹窗后再点就会出错. autoOpen:false, height:380, ...

  9. java中的hashcode方法作用以及内存泄漏问题

    本文装载:http://hi.baidu.com/iduany/item/6d66dfc9d5f2da1650505870 hashCode()方法的作用&使用分析 一直以来都想写篇文章来说明 ...

  10. windows Server 2003修改远程连接限制

    调整最大远程连接数: 1.开始->控制面板->添加或删除程序->添加/删除windows组件->选择“终端服务器”进行安装. 2.开始->运行->gpedit.ms ...