注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

分享,态度 ·~~

—— 十年太长,五年;如果可以回到五年前,你最想对那时候的自己说什么?

 
 
 

日志

 
 

WinRT中ListBox透明背景的实现  

2012-05-25 14:25:30|  分类: Windows 8 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
昨天“举世皆敌”童鞋问我ListBox中如何实现透明背景。原本想应该是一个属性的问题,于是写了代码测试如下:

<Grid Background="Gray">
<
ListBox Width="400" Height="600" Background="Transparent">
<
TextBlock Text="TextBlock Test01" />
<
TextBlock Text="TextBlock Test02" />
<
TextBlock Text="TextBlock Test03" />
<
TextBlock Text="TextBlock Test04" />
<
TextBlock Text="TextBlock Test05" />
<
TextBlock Text="TextBlock Test06" />
</
ListBox>
</
Grid>

OK,Run==>> 一切看起来很好:
WinRT中ListBox透明背景的实现 - 乂乂 - 一个人,一支烟  ·~~

但是当将ListBox聚焦,就马上可以发现问题:
WinRT中ListBox透明背景的实现 - 乂乂 - 一个人,一支烟  ·~~

这个看起来是WinRT的一个bug,我不确定是否有其它属性设置可以解决这个问题。不过即便有属性的解决方案,其实使用起来也很奇怪了。或许,这个是MS表示突出重点的方法也未可知,呵呵。

目前来说,我能想到的解决方案有两个:
1、换用其它可以呈现List的控件;
2、重写ListBox模版。

方案1就不讲了,方案2的示例代码:

<Grid Background="Gray">
<
ListBox Width="400" Height="600" Background="Transparent">
<
ListBox.Style>
<
Style TargetType="ListBox">
<
Setter Property="Template">
<
Setter.Value>
<
ControlTemplate TargetType="ListBox">
<
ScrollViewer VerticalScrollBarVisibility="Auto">
<
ItemsPresenter />
</
ScrollViewer>
</
ControlTemplate>
</
Setter.Value>
</
Setter>
</
Style>
</
ListBox.Style>
<
TextBlock Text="TextBlock Test01" />
<
TextBlock Text="TextBlock Test02" />
<
TextBlock Text="TextBlock Test03" />
<
TextBlock Text="TextBlock Test04" />
<
TextBlock Text="TextBlock Test05" />
<
TextBlock Text="TextBlock Test06" />
</
ListBox>
</
Grid>

效果如下:
WinRT中ListBox透明背景的实现 - 乂乂 - 一个人,一支烟  ·~~

代码很简单,只是给大家一个思路。WinRT非常年轻,会有类似许许多多和之前WPF/Siverlight不一样的问题,有一些是Bug,还有一些则是MS的新设计,我们总需要找这样那样的方法去实现我们自己的需求。

另感谢“举世皆敌”童鞋的提醒,其实我之前都不曾注意到ListBox有这样的行为。
[本文链接:http://zwkufo.blog.163.com/blog/static/2588251201242514258105/]

  评论这张
 
阅读(1443)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017