首页
学习
活动
专区
工具
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相对其夫级控件的边距。其效果能更灵活一些更能做自适应布局。 容器控件多的时候可能会用混淆。...明确上一个概念“夫控件只对其子控件产生布局”。

79150

了解如何自定义ItemsControl

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

2.5K10
  • Blend基础-布局控件

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

    1.1K60

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

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

    92670

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

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

    1.1K80

    从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默认的根容器,这个名字一般不会去改动他。

    98150

    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容器。对于初学者来说这里推荐选择第二个。

    84160

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

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

    980100

    Silverlight 中的 UIElement 与 FrameworkElement

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

    56510

    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(或是需要改进的地方)

    1.1K80

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

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

    91190

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

    在web开发中,带checkbox的tree是一个很有用的东东,比如权限选择、分类管理,如果不用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

    基于XAML框架和跨平台项目架构设计的深入技术分析

    支持与WPF相同的自定义控件设计。 WinUI 3: Windows原生UI框架,是最新Windows应用开发的下一代UI平台。继承了UWP的所有优点,同时解决了其限制,并采纳了WPF的可扩展性。...Avalonia UI: 允许在跨平台上使用WPF风格XAML的开源UI框架。支持与WPF相同的自定义控件设计,通过独特的技术扩展支持各种平台。...框架设计的必要功能及实现方案 在设计应用程序架构时,构建考虑可重用性和可扩展性的框架非常重要。为此,使用依赖注入(DI)容器是必不可少的。...优点: 实现只包含必要功能的简单DI容器,降低项目复杂性 可以在内部设计、控制和扩展各种功能 可以精确构建整体框架架构和项目设计 提供不依赖特定平台的统一DI容器,有利于跨平台开发 示例代码: // 基于...VSM是在Silverlight 2.0中引入的,用来弥补Trigger不足的,对自定义控件和XAML之间的状态处理进行了优化。

    8910
    领券