none
请教3个问题 RRS feed

  • 问题

  • 我最近在开发一个模拟资源管理器的程序,目前面临这样3个问题需要请教:

    1、Windows7资源管理器的文件浏览窗口是在什么控件的基础上制作的?ListView、DataGrid还是其他控件?

    2、在不知道1、的前提下,我尝试了 ListView 和 DataGrid 来进行模拟,都不能完美的模拟。ListView 的问题是当控件宽度大于所有列总宽度的时候,鼠标在右边空白区域移动会高亮对应行,点击会选中对应行,我不知道如何设置将鼠标的移动和点击操作的响应区域限制在现有列区域内,此前我尝试裁剪 ListView 的 Clip ,理所当然的,鼠标在裁剪区域中连滚轮事件都不响应了;DataGrid 的问题是如果想要添加整行的高亮效果时,面临与 ListView 相同的问题,不能限制宽度,并且我想把 DataGird 的高亮 Brush 改成 ListView 的效果,但由于对 XAML 不熟,用了模板查看器只能看到 ListView 用的是 Dynamic SystemColors.HighLightBrushKey,看不出 Brush 的具体内容。请教一个较好的思路。

    3、当我将字符串直接绑定到 DataGridTextColumn 上时,WPF 的内部实现方式是直接在单元格控件上承载字符串,还是隐含创建了一个 TextBlock 或者什么控件来承载字符串?提出这个问题的原因是 DataGridTextColumn 和 GridViewColumn 都不具有 TextTrimming 属性,不得不在诸如文件类型和大小等字段上采用 DataGridTemplateColumn + TextBlock 来进行显示,我担心这样做在进入 C:\Windows\System32 这样的文件夹之后,和直接采用 DataGridTextColumn 相比性能损失比较大。

    额外的问题:我用 iconview 在 System32\SndVolSSO.dll 中找到几个音量图标,放在程序里面时,感觉右边的弧线很明显发虚,即使把大小放大到任务栏图标的两倍也是如此,不知道 Windows7 系统是否采用的这几个图标?

    谢谢关注

    针对以上问题,请教一个较好的思路。
    2013年10月7日 15:10

答案

全部回复