UWP UserControl 不会自适应大小

在一般的Page里面,我们通过VisualStateManager,可以根据窗体的宽度,来调整一些控件大小。

        <VisualStateManager.VisualStateGroups>
                <VisualStateGroup x:Name="WindowStates">
                    <VisualState x:Name="PanoramicState">
                        <VisualState.StateTriggers>
                            <AdaptiveTrigger MinWindowWidth="1024"/>
                        </VisualState.StateTriggers>
                        <VisualState.Setters>
                            <Setter Target="row1.Height" Value="0"/>
                            <Setter Target="gridX.Visibility" Value="Collapsed"/>
                        </VisualState.Setters>
                    </VisualState>
                    <VisualState x:Name="WideState">
                        <VisualState.StateTriggers>
                            <AdaptiveTrigger MinWindowWidth="640"/>
                        </VisualState.StateTriggers>
                        <VisualState.Setters>
                            <Setter Target="column1.Width" Value="0"/>
                            <Setter Target="gridY.Visibility" Value="Collapsed"/>
                        </VisualState.Setters>
                    </VisualState>
                    <VisualState x:Name="NarrowState">
                        <VisualState.StateTriggers>
                            <AdaptiveTrigger MinWindowWidth="0"/>
                        </VisualState.StateTriggers>
                        <VisualState.Setters>
                            <Setter Target="column1.Width" Value="0"/>
                            <Setter Target="gridY.Visibility" Value="Collapsed"/>
                        </VisualState.Setters>
                    </VisualState>
                </VisualStateGroup>
            </VisualStateManager.VisualStateGroups>

挡在UserControl里面使用的时候,需要注意下VisualStateManager需要放在根控件的里面,比如定义Grid

<Grid>
<VisualStateManager.VisualStateGroups>

<VisualStateManager.VisualStateGroups/>

其他控件。。。
<Grid/>

这样自适应才会起作用。

查了Stackoverflow才知道的。https://stackoverflow.com/questions/38175647/uwp-visualstates-in-usercontrol

原文地址:https://www.cnblogs.com/hupo376787/p/8386266.html

时间: 2024-08-12 12:05:29

UWP UserControl 不会自适应大小的相关文章

TextView自适应大小

对于设置TextView的字体默认大小对于UI界面的好看程度是很重要的,小屏幕设置的文字过大或者大屏幕设置的文字过小都造成UI的不美观 现在就让我们学习自适应大小的TextView控件,即当文字长度变化时,文字的大小会相应的变化,保证显示在一行当中 实现依靠于第三方类库 第三方类来源: http://www.apkbus.com/android-240301-1-1.html 下载地址: http://yunpan.cn/cFs9qKMyFNyfy (提取码:b039) 使用时先导入类库 以ec

popupWindow自适应大小

// popupWindow自适应大小 popupWindow = new PopupWindow(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); // 设置PopupWindow的大小(宽度和高度) // 高度和宽度为屏幕的比例 popupWindow.setWidth(display.getWidth() * 9 / 10); popupWindow.setHeight(display.getHeight() * 9

iOS HTML 字符串中的图片 自适应大小

本文原文地址:http://www.cnblogs.com/qianLL/p/6095988.html 有时候 我们接收数据的时候  后台给的数据室一串HTML 的字符串  但是 我们要显示出来  这是 我们会发现文字可以自适应大小,但是有些图片并不能自适应大小 这是 我们就需要去修改img的CSS样式 但是我们添加一个style 对所有的img标签 进行控制  是可以  但是 如果出现这种<img style ="width = ;height= px" 这种的话 我们就没办法

网页宽高自适应大小

如今,显示器的分辨率越来越多,终端也变得多样化,web开发页面的自适应问题越来越多,如果不做处理,一旦显示器的分辨率发生变化,展示的内容可能出现许多意料之外的排版问题.关于不同终端的展示问题可以通过响应式布局来实现,而不需要响应式布局时我们需要自己来避免上述问题. 宽度自适应: 1.设置最外层容器(如 DIV)的 width 为 100%: 2.如果网站头部有图片展示,那就不能简单设置宽度为 100%,会出现 repeat 的情况,或者图片大小超出最外层容器宽度,此时可以设置最外层容器宽度为固定

关于在移动网页中图片自适应大小的写法

一般在移动网页时,图片属性写成如下就可以达到自适应大小 <style type="text/css"> .nameg{background: rgba(000,000,000,0.6);} .nameg div{float: left;} .nameg .a1{width: 10%;background:#000000;} .nameg .a1 img{width: 100%;height: 100%;display: block;} .nameg .a2{width: 9

一个在SOUI中加速自适应大小的控件更新的小技巧

在SOUI中的控件有指定大小和自适应大小两类控件. 指定大小的控件,在控件内容更新时不需要重新布局,而自适应大小的控件在内容变化后会导致父窗口重新布局. 最近有网友发现在高速批量更新一个窗口的自适应控件(如50次/S的速度批量更新30个文件控件)时,SOUI的性能很低. 跟踪发现导致这个问题的关键在于在一次刷新过程中,每更新一个控件就需要执行一次重新布局,显而易见,这种情况下效率是非常低的. 解决这个问题的方法有两种: 一个简单的方法就是将自适应大小的文本控件改成固定大小的文本控件,如此,在定时

Android手机在不同分辨率情况下字体自适应大小

两种解决方法: 一. 1.首先根据不同分辨率获取不同字体大小. 在RES里创建values-480x320/strings.xml 里面设置<dimen name="Text_size">30px</dimen>和 values-800x400/strings.xml 里面设置<dimen name="Text_size">30px</dimen> 分别代表480X320 和 800X400分辨率情况下 字号为30px

C# ——窗体和控件随着分辨率的变化自适应大小

一.说明 我们自己编写程序的界面,会遇到各种屏幕分辨 率,只有自适应才能显的美观.实际上,做到这点也很简单,就是首先记录窗体和它上面控件的初始位置和大小,当窗体改变比例时,其控件的位置和大小也按此比 例变化即可.因为窗体上控件的位置和大小是相对于自己所在的窗体的,也就是所谓的窗口坐标. 在这里我们只考虑相对于自己窗体的窗口坐标更简单,也就是成比例变化.为了多个窗体共用,我在这里创建一个类AutoSizeFormClass ,1.使用它去记录窗体和其控件的初始位置和大小,2.根据窗体变化了的大小,

C# Winform窗体和控件自适应大小

1.在项目中创建类AutoSizeForm AutoSizeForm.cs文件代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace CSharpFormApplication { class AutoResizeForm { //(1).