首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Silverlight中动态调整ChildWindow高度会导致奇怪的行为

在Silverlight中动态调整ChildWindow高度可能会导致一些奇怪的行为。ChildWindow是Silverlight中的一个控件,用于创建模态对话框。当我们在运行时动态调整ChildWindow的高度时,可能会遇到以下问题:

  1. 内容溢出:如果我们将ChildWindow的高度设置得太小,可能会导致其中的内容溢出,无法完全显示。这可能会导致用户无法看到或操作窗口中的所有内容。
  2. 布局错乱:动态调整ChildWindow的高度可能会导致其中的布局错乱。例如,如果ChildWindow中包含了多个控件,并且它们的位置和大小是相对于ChildWindow的高度来确定的,那么改变ChildWindow的高度可能会导致这些控件的位置和大小发生变化,从而导致布局错乱。
  3. 动画问题:如果ChildWindow中包含了动画效果,动态调整高度可能会导致动画效果出现异常。例如,如果动画的起始和结束状态是基于ChildWindow的高度来确定的,那么改变ChildWindow的高度可能会导致动画效果不正常,可能会出现闪烁或不连续的情况。

为了避免这些问题,我们可以采取以下措施:

  1. 提前计算高度:在动态调整ChildWindow的高度之前,我们可以提前计算出需要的高度。这可以通过测量ChildWindow中内容的大小来实现。然后,我们可以根据计算得到的高度来设置ChildWindow的高度,以确保内容能够完全显示,并且布局不会错乱。
  2. 使用自适应布局:为了避免布局错乱的问题,我们可以使用自适应布局技术。自适应布局可以根据容器的大小自动调整其中的控件的位置和大小,以适应不同的窗口大小。在Silverlight中,我们可以使用Grid控件和其行、列定义来实现自适应布局。
  3. 考虑动画效果:如果ChildWindow中包含了动画效果,我们需要在设计动画时考虑到可能的高度变化。例如,我们可以使用相对值或百分比来定义动画的起始和结束状态,而不是直接使用固定的像素值。这样,在改变ChildWindow的高度时,动画效果可以根据新的高度进行适应,从而避免异常情况的发生。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iFrameFrame嵌入Silverlight时自适应高度处理

iFrame如果嵌入是普通网页,这种场景下iframe高度自适应解决方案,百度一下随手都能找到一大把。...但是嵌入Silvelight时,嵌入iframe父页面默认不知道Silverlight内容真实高度,所以上述办法就不起作用了。...其实只要换个思路:既然父页面不知道iframeSL高度,SL难道不能自己主动向父页面汇报自已高度吗? 先看最终效果: ? ? ?...注:Page1,Page3均是SLUserControl 代码见下面的源代码: 主要步骤为 1、SL每个页面的Page_Loaded,通过与父页面的js交互,主动报告当前SL页面的高度 2、父页面得到高度后...,用js动态调整iFrame/Frame高度 示例源代码:http://files.cnblogs.com/yjmyzz/SL_Iframe_Height_Sample.7z

53020
  • 《101 Windows Phone 7 Apps》读书笔记-BOOK READER

    该font picker由Silverlight for Windows Phone Toolkitlist picker控件创建而来。 ? ?...图25.4 配置为全模式Book Readerfont picker 当我尝试Windows Phone 应用程序中使用ComboBox控件时,为什么显得很奇怪?    ...ComboBox是一个核心Silverlight控件,它频繁地使用在网页,但是,它没有为Windows Phone提供合适设计风格。所以它一般不会被使用(该控件应该移除来避免困惑)。...如果我们直接把诸如text blocks或者toolkitListPickerItem控件这些UI元素放置于list picker,那么,全屏模式显示时,抛出异常。...换行符(\n)表示强制换行,它只一段文字末尾出现(原文使用固定行宽度,因此定期放置\n就可以,这就无法完成输出动态调整)。 2. 回车符(\r)代表新一章开始。

    1.2K60

    当无边框窗口被子窗口遮挡导致难以调节窗口大小时,可通过处理 NCHITTEST 消息重新支持调节窗口大小

    做无边框窗口之后,我们有方法可以让窗口标题栏区域和边缘调大小区域继续正常工作,直到——这个窗口上面覆盖了其他子窗口。这个子窗口吃掉消息导致父窗口边缘无法再继续处理这些消息。...---- 子窗口遮挡了父窗口 看一下下面的动画,这个窗口下半部分放了一个子窗口。 然后尝试边缘调节窗口尺寸,会发现被子窗口覆盖部分是无法完成窗口大小调节。...究其原因,是子窗口处理掉了与调窗口大小相关消息,导致父窗口完全不知道应该如何处理这个时候操作。...子窗口处理消息循环 另一篇博客,我有提到通过处理 WM_NCHITTEST 消息,返回 HT_RIGHT 等来实现支持 Windows 原生窗口功能效果。...于是,我们需要在消息循环处理返回 HTTRANSPARENT 来告诉操作系统这个区域子窗口不处理消息,请交给父窗口。 这里,我以 WPF 消息循环来写代码。

    35520

    《101 Windows Phone 7 Apps》读书笔记-Silly Eye

    Silverlight,动画有一个更加详细定义:时间轴上改变一个属性值。...XAML,有一种方法来触发storyboard所有行为。因此,我们没有必要在背后代码调用它Begin方法。我们可以为一个元素Triggers属性添加一个事件触发程序。...Silverlight提供了11个不同过渡函数,每个函数有三种不同模式,有些函数提供了更深层次属性行为自定义。...实际应用,如果我们想要在动画中加入自定义函数,那么这种自定义行为可能性是无穷无尽。与默认线性过渡相比,本应用中使用过渡函数为用户提供了一种完全不同体验。    ...这样做是为了动画页面切换期间,防止对屏幕以外矢量图形进行渲染。这不仅避免了出现非常奇怪视觉元素,而且也有助于提高应用程序性能。

    94770

    自动增长Textareas最干净技巧「心得分享」

    ;  /* 隐藏在视图,点击和屏幕阅读器 */  visibility: hidden; }.grow-wrap > textarea {  /* 您可以保留此设置,但是在用户调整大小后,它将破坏自动调整大小...所以你有一个 ,它不能自动展开高度。 相反,​您可以另一个元素完全复制该元素外观,内容和位置,再复制元素隐藏起来。 现在,这三个元素都是相互联系。...无论哪一个子元素最高,都会把父元素推到那个高度,而另一个子元素也跟随。这意味着 最小高度将成为“基础”高度,但是如果复制文本元素碰巧变高了,所有的东西也随之变高。...我们还需要在复制文本上 white-space: pre-wrap; ,因为这就是textareas表现。 这是最奇怪部分 演示,我将 ::after 用于复制文本。...如果你不这样做,最终结果让人感觉 "跳脱"。我不能说我完全理解它,但它似乎更好地尊重了跨textarea和文本元素换行行为。 如果你不想使用伪元素,嘿嘿,我没意见,只要注意跳动行为即可。

    1.2K10

    Silverlight体积优化

    这就直接导致了应用程序体积增大。在所有的文件都要从服务器上下载情况下,这是一个极为严重问题。如果你应用大于5MB 加载时间过长的话直接导致访客流失。...将素材放在sl应用外部 之前方式我们都是针对一个sl应用做,但是当你构建模块话sl应用时,将素材文件放在Silverlight XAP包外部效果更好。...(或者放在外部ZIP包再做压缩,让sl应用动态获取。...使用程序集缓存 使用程序集缓存办法很简单只需要在sl属性页面,将library Caching设置为true即可 动态加载XAP silverlight开发过程可以将模块话,分解成多个xap...silverlight可以用简单loadingXAP来完成(具体请查看“动态加载XAP文件”),或者使用第三方框架来完成,比如“Managed Extensibility Framework”、

    94280

    Silverlight for linux 和 DLR(Dynamic Language Runtime)

    Mono之父Miguel de Icaza 参会微软Mix 07大。...eWEEK关于该活动一篇报道,Hugunin是这样解释微软意图:“我们正在努力做,并不是做一个动态语言规范,而是提供一个动态语言库,并指导如何去使用它,因为我坚信如果你能够代码而不是文本中找到什么的话...所以我们试图尽可能多地代码中找到这样指导方针。”eWEEK还引用了Lam同一次会议上另外一句话。他相信“相当大一部分动态语言很相似。”...Hugunin是2004年加入微软,他开发IronPython过程,不得不自己.Net核心完成大量Python和Common Language Runtime(CLR)集成工作。...这是件了不起事情,因为它让我们可以利用其他语言中高度调和组件,例如just-in-time compiler、垃圾收集器、调试支持、反射、动态载荷等等。

    55770

    Flutter 小技巧之玩转字体渲染和问题修复

    如下图所示,当在使用 Apple SD Gothic Neo 字体出现中文和韩文同时显示时,你可能察觉一些字形很奇怪,比如【推广】这两个字,其中【广】这个字符超集上是不存在,所以变成了中文...Text Height那如果这时候我问你一个问题: 一个 fontSize: 100 H 字母需要占据多大高度 ?你回答多少?...所以,看到这里你又知道了一个小技巧:当文字 Container “有限高度” 内容内无法居中时,可以考虑调整 TextStyle height 来实现 。...所以 height 参数和文本渲染高度之间是成倍数关系,具体如下图所示,同时最需要注意点就是:文本内容 height 里并不是居中,这里 height 可以类比于调整行高。...所以,看到这里你又知道了一个小技巧:设置 leading 可以均分高度,所以如下图所示,也可以用于调整行间距。

    1.8K21

    Silverlight项目中自定义控件开发Style学习笔记

    接下来我们先新建一个自定义控件(本文示例中将创建一个用户留言自定义控件) 先调整一下默认命名空间(因为Control是Silverlight默认控件类,为了避免命名空间与类名重复,建议最好换一个默认命名空间...,复制了一节,并命名为style2,相当于样式表定义了另一个类名,看下如何应用,仍然Blend环境,保持Silverlight项目的MainPage.xaml文件打开状态,注意右侧面板Resources...) blend双击Control项目中Generic.xaml文件,提示: ?...我们还是用最简单图形界面来修改处理吧,再次请出Blend,在上一张图修改样式界面,比如我们想让用户能在运行时动态控制宽度,没问题,选中border对象,右边属性面板中找到Width设置栏,注意后面的小白点...换言之,style可以同时影响对象外观和内容,接下来尝试,我们还将看到style更强大威力,它甚至可以影响到对象行为

    973100

    nodeIntegrationInSubFrames | Electron 安全

    其实都是为了一个页面嵌入其他页面,例如我想在搜狐网站嵌入一段人民日报新闻页面 这种行为 Electron 官方文档叫做 Web 嵌入,关于 web 嵌入,后续我们还会出单独文章进行讨论...大家有些时候使用应用程序时候,点击某个功能跳出来一个新窗口,这个就叫做子窗口 举个例子,我们电脑版微信中查看公众号文章时,点击文章,会出现一个新窗口来显示文章内容,而不是原本窗口呢,这样原本窗口可以继续聊天等...之前一些版本,似乎子窗口继承父窗口一些配置,但后来主要是为了生命周期等,简单来说,我把父窗口关了,子窗口也会被关闭或其他设置 该参数要在父窗口初始化是配置,而不是子窗口 0x03 测试 iframe...这听起来就很奇怪,我们测试一下就知道了 我们尝试创建子窗口,主窗口中设置 nodeIntegrationInSubFrames: false ,并在子窗口设置渲染进程可以执行 Node.js ,咱们看看到底能不能执行...baseWindow 添加两个 WebContentsView,看看 WebContentsView 行为是不是受 baseWindow nodeIntegrationInSubFrames 参数影响

    24310

    分析Silverlight Button控件布局

    分析Silverlight Button控件布局 答:关于按钮自适应 Silverlight也算一个比较开放技术。...(图1) 要做到按钮宽度和高度根据字体大小和字数自动适应,其实就是调整好Layout,做以一个能自适应界面。SilverlightGrid这个容器是能自适应。...是把字体TextBlock放到一个Grid,对这个TextBlock设置相当Grid边距,就好像是htmlMargin概念一样。...(图2)别的元素也是一样TextBlock下层是有Rectangle等元素是来制作背景色、边框色,TextBlockRectangle用来制作高光,他们都容纳Grid。...微软官方控件TextBlock用contentPresenter来代替。contentPresenter可以简单理解成一个容器但是只能容纳一个对象。

    79050

    给WPF一个HyperlinkButton

    在外观上,很多人喜欢Hyperlink下面的横线鼠标MouseOver才显示,另外如上面图片所示插入图片后Hyperlink下面有一条横线,这很奇怪但又取消不了。...不过Silverlight为了显示MouseOver时出现下划线使用了两层内容,一层用于正常显示(contentPresenter),另一层用于显示下划线(UnderlineTextBlock),...我很讨厌这种代码里控制样式行为,UI和代码应该足够解耦。...UWP很多使用代码控制样式行为,通常宣称理由是为了性能,但Button是整个UI中最不需要性能部分,毕竟一个UI不可能有几百个Button,就算有几百个HyperlinkButton,现代UI框架也不可能仅仅因为下划线就导致性能下降...ControlTemplate.Resources添加了一个TextBlock全局样式,里面的DataTrigger设置为当鼠标进入父节点HyperlinkButton时TextDecorations

    1.1K20

    基础渲染系列(二十)——视差(基础篇完结)

    同样,当法线贴图变得太强时,它看起来奇怪。灯光表明坡度陡峭,而视差告诉我们它是平坦。因此,法线贴图仅适用于不会显示明显视差微小变化。 ?...(材质里带有视差属性) 1.3 调整纹理坐标 要应用视差效果,我们必须使表面的某些部分看起来在其他位置。这是通过片段程序调整纹理坐标来完成。...使用插值数据之前,应在片段程序调用ApplyParallax。LOD淡入是一个例外,因为这取决于屏幕位置。我们不会调整这些坐标。 ? 让我们开始通过简单地将视差强度添加到U坐标来调整纹理坐标。...(U方向浮动) 现在,更改视差强度导致纹理滚动。增大U坐标将使纹理沿负U方向移动。这看起来还不像是视差效果,因为它是均匀位移,并且与视角无关。...(动态批处理产生奇怪效果) 问题在于,将它们组合在单个网格之后,Unity不会对批量几何法线和切向量进行归一化。因此,顶点数据正确假设不再成立。 Unity为什么不对这些向量进行归一化?

    3.1K20

    silverlight动态读取txt文件解析json数据调用wcf示例

    终于开始正式学习silverlight,虽然有点晚,但总算开始了,今天看了一下sdk,主要是想看下silverlight如何动态调用数据,对于数据库访问,sdk官方示例多用是Ado.Net数据服务...,方便到是方便,就是感觉Ado.Net数据服务返回xml太啰嗦了,一点也不精简,数据通讯量太大(N多无用标签导致客户端与服务端之间传输数据增加了不少),于是想到能否直接用wcf返回json格式, 何况...sdk中提到silverlightSystem.Json已经完成了对json解析 经实验,用WebClient貌似就能解析一切,包括加载json文本,纯文本,以及wcf,不过要注意是:xap与被调用...LoadJsonTxt()         {             Uri serviceUri = new Uri("http://localhost:7055/data/json.txt");//很奇怪...,就是一"启用了ajaxwcf服务",没啥特别的,下面的代码仅参考(从NorthWind数据库,读取了表Categories部分信息) Code using System.Configuration

    1.4K100

    《101 Windows Phone 7 Apps》读书笔记-Cowbell

    SoundEffect类还提供了其他特性,我们会在下一章中进行介绍。 使用MediaElement播放音效导致我们应用程序无法通过marketplace认证!    ...由于使用MediaElement播放音效导致背景音乐暂停,带来较差用户体验。因此,应用程序发布于marketplace之前,微软会对它进行审查。...该事件对于Silverlight难以实现自定义动画非常有用,如Part II“Transforms & Animations”基于物体移动。...另外,为了确保程序运行,要求用户间隔一段时间点击屏幕方式并不好,因为那样导致程序发出用户没有预想到铃铛声。...在用户按下硬件音量调整按钮后,任何应用程序界面顶端会弹出一个93像素高度媒体控制界面,通过它,我们可以进行暂停、回退、前进或者是更改曲目等操作。

    83790

    从Flash到Silverlight进阶教程-用代码来创建动画

    从Flash到Silverlight进阶教程 用代码来创建动画 这节里将要讲述一个自定义用户控件最基本操作,就好象FlashMovieClips一样,动态将其添加到舞台上。...你只写了一次代码,而其他都是可视状态下完成,比如说这个MovieClips,你并没有写一句代码,但是已有很多你看不到代码falshIDE已经帮你都完成了。...这里你感觉到Silverlight更像以MXML来描述自身Flex。 在下边我会以Silverlight来重新制作上边例子,这里以Visual Studio 2008和Blend来做开发环境。...首先用Blend设计UI 调整舞台布局和Flash一样,参考Silverlight初级教程-绘图布局。 创建自定义用户控件,参考Silverlight初级教程-库。...由于silverlight还在发展阶段,建立项目结构规范还在探索,这里先以Flex项目的规范来做参考建立silverlight根目录建立文件夹“assets”。

    97450

    防御式CSS是什么?这几点属性重点防御!

    很多时候,我们希望有一种方法可以避免某种CSS问题或行为发生。我们知道,网页内容是动态,网页上东西可以改变,从而增加了出现CSS问题或奇怪行为可能性。...这是另一回事,但尽量使用 flex-wrap 来避免意外布局行为我们例子,是水平滚动)。 2.间距 我们开发者需要考虑不同内容长度。这意味着,间距应该添加到组件,即使它看起来不需要。...固定高度 我经常看到主内容部分有固定高度,而内容却大于这个高度,这就导致了布局破坏。...如果有一定数量子项目,布局看起来很好。然而,当它们增加或减少时,布局会看起来很奇怪。 考虑以下例子: 我们有一个有四个项目的 flex 容器。...也就是说,使用auto-fit可能导致网格项目太宽,特别是当它们小于预期时。考虑一下下面的例子。

    4.4K30

    nicegui布局细节补充——容器高度与滚动条

    实战: 只有左下和右边的卡片中列表内容部分,才会出现滚动条 整个布局刚好铺满整个窗口,就算动态修改浏览器窗口大小也是如此 本节使用 nicegui 版本为 1.4.20 高度溢出处理 创建一个容器,...所以,所有的规则设计核心就是:“尽可能展现内容,避免信息丢失” web ,普通容器宽度实际上是填满整行。...随着我们不断点击,里面的容器高度增加,从而也导致外面的容器高度也增加。这符合前面说" 容器高度由里面的内容支撑 "。...注意,虽然这里表达是一个百分比,但是参考物是屏幕高度,这是一个确定值,因此,60%屏幕高度,也是确定值 屏幕高度是可以变化,比如手动调整浏览器窗口高度。...但它仍然是一个确定值,因为调整完毕后,它就有一个确定像素值。 点击按钮,随着里面的内容增加,大家觉得怎么样行为才合理? 再次提醒,里面容器没有限定高度,也没有设置 overflow 。

    1.3K10
    领券