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

如何强制Silverlight容器扩展/收缩到其子控件的大小?

要强制Silverlight容器扩展/收缩到其子控件的大小,您可以使用以下方法:

  1. 在XAML中设置容器的SizeToContent属性:
代码语言:txt
复制
<UserControl SizeToContent="WidthAndHeight">

这将使容器根据其子控件的大小自动调整大小。

  1. 在代码中设置容器的SizeToContent属性:
代码语言:csharp
复制
this.SizeToContent = SizeToContent.WidthAndHeight;

这将使容器根据其子控件的大小自动调整大小。

  1. 使用Grid作为容器,并设置其RowDefinition和ColumnDefinition的Height和Width属性为Auto:
代码语言:xaml
复制
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
       <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <!-- 子控件放在这里 -->
</Grid>

这将使Grid容器根据其子控件的大小自动调整大小。

  1. 使用Viewbox控件将容器包裹起来:
代码语言:xaml
复制
<Viewbox Stretch="Uniform">
    <Grid>
        <!-- 子控件放在这里 -->
    </Grid>
</Viewbox>

这将使容器根据其子控件的大小自动调整大小,并保持其比例。

总之,要强制Silverlight容器扩展/收缩到其子控件的大小,您可以使用上述方法之一。

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

相关·内容

分析Silverlight Button控件布局

分析Silverlight Button控件布局 答:关于按钮自适应 Silverlight也算一个比较开放技术。...(图1) 要做到按钮宽度和高度根据字体大小和字数自动适应,其实就是调整好Layout,做以一个能自适应界面。在Silverlight中Grid这个容器是能自适应。...在微软官方控件中TextBlock用contentPresenter来代替。contentPresenter可以简单理解成一个容器但是只能容纳一个对象。...指定里边一个元素尺寸也会对外层Grid产生作用。 再一个是设置Grid相对夫级控件边距。效果能更灵活一些更能做自适应布局。 容器控件时候可能会用混淆。...明确上一个概念“夫控件只对控件产生布局”。

79050

了解如何自定义ItemsControl

逻辑 3.1 定义ItemContainer 派生自ItemsControl控件通常都会有匹配元素控件,如ListBox对应ListBoxItem,ComboBox对应ComboBoxItem。...如果ItemsControlItems内容不是对应元素控件,ItemsControl会创建对应元素控件作为容器再把Item放进去。...ItemsControl派生类ItemContainer控件要使用父元素名称做前缀、-Item做后缀,例如ComboBox元素ComboBoxItem,这是WPF约定俗成做法(不过也有TabControl...Silverlight是WPF简化版,Moonlight则是很久没维护Silverlight简陋版,这使得Moonlight反而成了很优秀WPF教学材料。...当然,也可以参考Silverlight实现,使用JustDecompile可以轻松获取Silverlight源码,这也是很好学习材料。

2.4K10
  • Blend基础-布局控件

    Panels控件(其实就是容器控件) 对内部控件提供了自动布局功能 可以在容器控件内继续添加容器控件(一个复杂界面往往是多种容器控件嵌套而组成) 一些界面器控件也是嵌套了容器控件而组成(比如ListBox...ViewBox 可拉伸或者缩放元素。 Border 在一个元素周围绘制边框、背景。 DockPanel 可将元素沿边缘进行定位。...具体使用 在新建立了Silverlight项目后,你会看到Blend自动帮你添加了一个布局控件“LayoutRoot”。 在右侧属性栏目你可以看到这个布局控件类型。...这里在LayoutRoot下添加上两个最简单布局控件Canvas,并改变他们背景颜色予以区分。 这里记住一个概念“所有的父控件控件进行布局”。...其内部元素会根据父控件属性来自行调整自身位置大小。 更加详细Grid使用请翻阅Blend帮助文件。

    1.1K60

    CaseStudy(showcase)布局篇-如何做一个自适应窗口大小布局

    布局篇-如何做一个自适应窗口大小布局 Canvas是对控件绝对定位控件需要设置宽高。...Grid而是对控件设置上下左右边距控件不一定需要设置宽高直接用Auto属性即可大小受父控件影响。 了解了特性及可以开始制作了。...首先先从最外层UserControl做起,在这里给他一个固定宽高。这个宽高在发布时候是可以改变。主要是LayoutRoot这一层。 LayoutRoot控件为Grid。...这样他大小就由silverlight程序大小本事决定了。 最重要是LayoutRoot内部控件是要设置了边距也都会自适应。 这里来具体看一下例子。...把刚才导出XAML文件粘贴到Blend中全部选中右键组合,选择Grid。 ? 其内部控件设置如下 ? 自身设置。由于宽度是一定,只需要适应高度即可 ? 全部层如下 ?

    1.1K80

    silverlight 《Hands-On-Labs》教程系列

    [在控件使用和特点上做了介绍] Requirements: This tutorial requires the above installs along with Expression Design...[在这个教程中你会看到如何使用多种访问远程数据方法,你将使用除了WCF,web serviceWebClient, Downloader和 WebRequest来获取数据.LINQ to XML和数据绑定都已经在...[建立可重复使用控件就是自定义用户控件.自定义用户控件是从System.Windows.Controls.Control继承下来.举个例子 TextBox控件就像一个容器控件一样.和asp.net非常相似....你可以使用designer工具去设计界面然后添加事件,设置属性.在后置代码中 调用方法.这个控件包可以在你开发项目中就像内置空间一样使用.此外你可以添加属性,方法,事件到你控件中来制定更加适应控件...[在设个教程中你将会看到如何使用css来Silverlight plug-in进行交互.如何建立适应浏览器大小变化Silverlight,如何融合HTML和Silverlight,如何在浏览器和c#中访问

    91770

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

    从Flash到Silverlight进阶教程 用代码来创建动画 这节里将要讲述一个自定义用户控件最基本操作,就好象Flash中MovieClips一样,动态将其添加到舞台上。...首先用Blend设计UI 调整舞台布局和Flash一样,参考Silverlight初级教程-绘图布局。 创建自定义用户控件,参考Silverlight初级教程-库。...根目录下建立“Components”目录所有制作自定义用户控件都放到这里,根据控件类型不同在分别建立文件夹。这里文件夹就相当于Flash中库。...这里在说明下,注册点都以左上角为0,0点注册,要以像flash中一样以中心注册需要手动将图片向左上方移动。如图所示: ? 在舞台上添加两个按钮,并设置好name属性。...用Visual Studio 2008编写后台逻辑代码 打开Page.xaml.cs 这里说明下"LayoutRoot"为silverlight默认容器,这个名字一般不会去改动他。

    97450

    microsoft silverlight

    改善伺服端延展性及扩展广告客户支援:Silverligt 2.0针对串流传送资料方式、效率、下载播放方式再进一步强化改善能力。...此外Silverlight 5还支持64位操作系统,在IE9无窗口模式下可以启动 硬件加速,提供了GPU加速3D API。Silverlight 5应用可以创建窗口,脱离浏览器使用。...增强控件包括了具有可排序/可重设大小栏和复制/贴上列 DataGrid。...而Silverlight则可以提供更加丰富表现形式,有助于提升用户忠诚度、提高访问量,并扩展赢利模式。...本隐私声明更改 本隐私声明将时有更新。我们在更新本声明时,将修改顶部“最后更新时间”日期。我们建议您定期查阅本隐私声明,以了解 Microsoft 如何保护您信息。

    1.3K90

    Silverlight初级教程-建立silverlight项目

    Silverlight初级教程 建立silverlight项目 首先在这里说明下,我是一个flasher同时我也做Asp.net编程,在这里我会以开发flash思路来介绍如何开发silverlight...第一是建立WPF程序,第二个是建立WPF控件,第三个是建立silverlight 1.0,第四个是建立silverlight  2.0。在这里我们选择第四个。...第一个是建立silverlight 2.0,第二个是建立silverlight控件。这里我们选择第一个。...这里是询问如要创建一个什么类型silverlight容器。...第一个是创建一个asp.net站点(这个适合有asp.net编程经验的人),第二个是 每次都动态创建一个html页面来做silverlight容器。对于初学者来说这里推荐选择第二个。

    83760

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

    这是一个典型silverlight项目解决方案: 1.control是一个Silverlight类库,可以把项目中可重用用户控件放在该项目中.(可以理解为UI层细分) ?...接下来我们先新建一个自定义控件(本文示例中将创建一个用户留言自定义控件) 先调整一下默认命名空间(因为Control是Silverlight默认控件类,为了避免命名空间与类名重复,建议最好换一个默认命名空间...那么,如何控件在运行时,可以方便控制外观呢?...,类似:字体大小,不同颜色...这些也可以理解为另外几组互斥状态组。...来扩展内容,运行时扩展内容将替换这个占位符(回想一下Dreamweaver中模板页,Asp.Net中母版页MasterPage,多么类似的设计!)

    972100

    Silverlight UIElement 与 FrameworkElement

    Silverlight UIElement 与 FrameworkElement 在 Silverlight 中, 有两个比较重要基础控件 UIElement 和 FrameworkElement...从文档以及类图可以看出, UIElement 是一个比较低级控件, 仅仅具有可视化外观和处理基本输入事件, 例如控件大小、 透明度、 鼠标键盘事件以及特效等, 如果需要开发控件仅仅需要这些基本属性以及事件..., Silverlight 实现了一个布局系统, 这个布局系统读取许多在 FrameworkElement 级别定义属性(MinWidth、MaxWidth等), 并为特殊布局行为提供了可扩展方法...2、 对象生命周期事件: 很多情况下, 知道控件什么时候被首次加载(控件被添加到当前Silverlight应用程序对象树)是非常有用。...在 Silverlight 中, 绝大多数控件都继承自 FrameworkElement , 因为绝大多数控件都需要 Framework Element 提供功能, 直接继承自 UIElement 控件几乎没有

    55910

    Silverlight与WPF中BeginInvoke差异

    Silverlight/WPF中,如果要在多线程中对界面控件值做修改,用Dispatcher对象BeginInvoke方法无疑是最方便办法 ,见:温故而知新:WinForm/Silverlight多线程编程中如何更新...UI控件值 但今天发现WPF中BeginInvoke却无法自动将匿名方法/Lambda表达式转变成Delegate类型(注:对委托,匿名方法,Lambda感到陌生朋友先阅读温故而知新:Delegate...,Action,Func,匿名方法,匿名委托,事件) silverlight代码片段: private void button1_Click(object sender, RoutedEventArgs...既然出错原因就是编译器不自动做类型转换,那我们就来强制转换吧 public void TestMethod() { this.Dispatcher.BeginInvoke((Action)delegate...不过仍然有点疑问:为啥编译器能自动认别Silverlight,却不认WPF呢?这算不算是编译器BUG(或是需要改进地方)

    1K80

    Silverlight自定义数据绑定控件应该如何处理IEditableObject和IEditableCollectionView对象

    最近在一直研究Silverlight数据绑定控件,发现有这样两个接口IEditableObject 和IEditableCollectionView,记录一下结论,欢迎交流指正。...本文会重点介绍在构建Silverlight自定义数据绑定控件过程中,我们会对数据源进行操作,那么就会碰到上述两个接口,如何正确处理它们。...换句话说就是,如果IEditableCollectionView发现Item实现了IEditableObject接口,会在它EditItem,CommitEdit以及CancelEdit方法中调用...自定义数据绑定控件应该如何处理这两个接口 IEditableObject 如果数据绑定控件发现当前行绑定对象是IEditableObject,那么在该行上如果有一个Cell进入编辑状态,并且是第一个单元格时候...这样的话,自定义数据绑定控件就可以完美支持这两个接口了。 说明:以上描述是以Silverlight DataGrid为例,自定义控件类似。

    90490

    Silverlight Telerik控件学习:带CheckBox复选框树形TreeView控件

    在web开发中,带checkboxtree是一个很有用东东,比如权限选择、分类管理,如果不用sl,单纯用js+css实现是很复杂,有了SL之后,就变得很轻松了 解决方案一: 利用Silvelright...ToolKit(微软开源项目),项目地址http://silverlight.codeplex.com/ 在线演示地址:http://silverlight.net/content/samples/...sl4/toolkitcontrolsamples/run/default.html 解决方案二: telerik公司Rad for Silverlight商业控件(收费控件) 在线演示地址 http...://demos.telerik.com/silverlight/ 不管用哪一种方案,代码都是差不多,为了实现数据绑定,先创建一个silverlight类库项目BusinessObject,定义数据项实体...--商业控件,就是靠谱,很多功能已经帮开发者实现了. 效果: ?

    2.1K70

    【翻译】WPF应用程序模块化开发快速入门(使用Prism框架)【上】

    这篇快速入门文章包括如何使用Prism进行编码、探索和创建模块示例 创建模块: 模块是实现了IModule接口类, 可以通过声明特性来给模块命名、控制初始化、定义依赖等 注册模块: 模块可以通过以下方式注册...在需要时候初始化: 模块可以在系统代码调用它时候再进行初始化, 当系统代码调用模块时候,后台线程开始下载模块 当模块下载成功后马上初始化 在后台下载模块 尽管对于silverlight应用程序来说在后台下载模块是非常有用..., 以处理模块加载和初始化完成后额外事件 使用不同依赖注入容器 一般在“快速入门”示例中都是使用Unity依赖注入容器 虽然核心类库代码仍然“容器-未知”(container-agnostic)...但却使用了.Net4MEF依赖注入容器插件。...是否已经被初始化、下载进度、按需加载控件可以在点击事件中初始化 这些控件还提供了一个tooltip 以显示它现在初始化状态和被发现信息 在快速入门示例最下面 有一个TextBox控件 在这里展示从程序创建开始到模块加载过程中日志记录

    1K10
    领券