首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Xamarin 学习笔记 - Layout(布局)

    Height:定义当前视图的高度。 值被指定为边界和一个标志的组合。LayoutBounds是由四个值组成的矩形:x,y,宽度和高度。...设置选项 可以是绝对值Absolute标志(以像素为单位)或者比例值Proportional标志(从0到1) None:全部的数值是绝对值(数值以像素为单位)。...All:表示布局边界的全部数值均表示一个比例值(数值从0到1)。 WidthProportional:表示宽度是比例值,而其它的数值以绝对值表示。...HeightProportional:表示高度是比例值,而其它的数值以绝对值表示。 XProportional:表示X坐标值是比例值,而将其它的数值作为绝对值对待。...YProportional:表示Y坐标值是比例值,而将其它的数值作为绝对值对待。 PositionProportional:表示X和Y的坐标值是比例值,而将表示尺寸的数值作为绝对值表示。

    1.6K20

    【愚公系列】2022年09月 MAUI框架-MAUI项目的创建

    文章目录 前言 一、MAUI项目的创建 二、MAUI项目的应用场景 1.智能家居系统 2.WPF的上位机应用 3.WPF的业务系统 4.Xamarin的移动应用 前言 在2020年5月, 微软宣布了MAUI...原本于2021年底发布的MAUI正式版被推迟到了2022年5月底发布。现在, 你目前可以通过安装VS2022 预览版进行安装MAUI开发选项。...1、关于MAUI框架 - 多平台应用UI框架 - 2020.5 MAUI 2022.5 RC3 Xamarin演进 Linux社区 2、从WPF到MAUI - 技术点 XAML 资源 、布局、样式...StackLayout Grid AbsoluteLayout(Canvas) FlexLayout - 界面细节与模板:样式、模板 4、 MVVM - 数据:值、集合 - 行为:命令 动画、图表...3.WPF的业务系统 4.Xamarin的移动应用

    3.3K20

    1.之Andriod布局 VS WinPhone布局

    3.FrameLayout&AbsoluteLayout VS Canvas 在官方文档布局介绍文档中已经不见FrameLayout和AbsoluteLayout这两位了,估计是在安卓如此丰富的设备分辨率下以及很少有场景能用到这两种布局方式了...Android-AbsoluteLayout:以AbsoluteLayout的左上角为基准起始位置([0,0]点),子元素利用二维坐标系android:layout_x和android:layout_y...WinPhone-Canvas:布局行为上等同于FrameLayout和AbsoluteLayout的结合体,为子元素提供Canvas.Left,Canvas.Top和Canvas.ZIndex三个附加属性来控制子元素在当前...WinPhone-Grid:Grid是WinPhone开发中最常用的布局容器,可以通过设置行数、列数以及行列的宽高(可以是固定值或者比例值或者自动根据子元素来确定),子元素通过附加属性Grid.Row、...一路阉割来的,提供的布局方便性灵活性弱了不少,另外它也是不以px为布局单位的,xaml的手写体验比Android的布局xml要好一些。

    1.2K80

    WPF 使用 Dispatcher 的 InvokeAsync 和 BeginInvoke 的异常处理差别

    进一步的说明就是不对 InvokeAsync 使用 await 等待的前提下,表现行为如本文描述。...行为无关 有一些不符合我开始预期的是 InvokeAsync 抛出未捕获的异常,将会进入到 TaskScheduler.UnobservedTaskException 事件里面。...事件 接下来是对此行为的测试代码 新建一个 WPF 项目,编写简单的界面,加上两个按钮,这两个按钮用来分别调用 InvokeAsync 和 BeginInvoke 抛出异常 <Window x:Class...="GifellichelNurcikaifallhane.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml...以上的代码仅用来进行测试行为 运行以上代码,分别点击两个按钮,可以看到有不同的输出,从而可以了解到这两个方法的异常处理行为 本文的代码放在github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码

    57210

    dotnet 读 WPF 源代码笔记 为什么自定义的 UserControl 用户控件不能跨程序集继承

    在 WpfLibrary1 项目里面新建一个 UserControl1.xaml 的用户控件 接着再新建一个叫 RukarcaheenereRelchairnalfe 的 WPF 项目,在这里面写一个叫...以上的异常的大概含义就是定义的 /WpfLibrary1;component/usercontrol1.xaml 所在的程序集和 Foo 所在的程序集不是相同的一个程序集,在 WPF 框架层面禁止跨程序集继承自定义用户控件...resourceLocator 就是 /WpfLibrary1;component/usercontrol1.xaml 的值,拿到的 bamlStream 的程序集是 WpfLibrary1 程序集 而....xaml 是期望从 WpfLibrary1 程序集获取对应的 XAML 定义资源(准确来说是 BAML 资源)进行加载。...但实际的调用类型,却发现是继承的类型,放在另一个程序集,不符合框架设计的预期,抛出异常 这就是为什么自定义的 UserControl 用户控件不能跨程序集继承的原因 在 WPF 的 LoadComponent

    98310

    WPF 将 StaticResource 和 ResourceDictionary 放在一起的魔幻行为

    不重写也不会影响当前的例子的行为 接着将这个自定义的 FooResourceDictionary 类型加入到 App.xaml 里面,必须放在 Dictionary2.xaml 之前,如以下代码 的行为是在资源加载的过程中就会执行,执行时将会尝试从资源字典里寻找静态资源 Key 的定义,如果有找到 Key 的记录,则加入延迟初始化逻辑。...即使后续加入的资源字典添加了对应的资源,也不会重新更新。这个行为符合微软的文档,试试看交换两个有依赖关系的资源字典加入 App.xaml 的顺序,可以看到顺序倒了之后将导致静态资源找不到。...获取到的值,可以看到获取到的是定义在 FooResourceDictionary 里的资源,很符合预期。...符合预期,因为此时 Dictionary1.xaml 还没加入 但有趣的是在应用运行的时候,即使 Dictionary1.xaml 已经加入,此时拿到的还是原来的 FooResourceDictionary

    72110

    Avalonia 已知问题 第二次 Composition Animation 无法播放

    以下是我的 XAML 界面代码 <Border x:Name="ScanBorder" ZIndex="101" IsVisible="True" HorizontalAlignment...f82af28bab6f5cdfbd13c48c19b4f0a21a50ae06 获取代码之后,进入 AvaloniaIDemo/JallkeleejurCihayaiqalker 文件夹,即可获取到源代码 预期的行为是能够控制...Composition 的 Animation 动画的停止以及开启新的动画 根据我的分析问题原因是在更基础的 InlineDictionary 在处理单项重新赋值时的不正确行为,让动画模块第二次进入时不能符合预期工作...根据阅读 Avalonia 的代码可以看到 InlineDictionary 在只有单项的行为是通过 Set 方法调用进入时,将会忽略 overwrite 参数,从而导致 InlineDictionary...此行为将导致 composition animation 动画播放行为不符合预期,将导致第二次的 composition animation 无法播放。

    11110

    WPF 已知问题 dotnet 6 设置 InvariantGlobalization 之后将丢失默认绑定转换导致 XAML 抛出异常

    在设置了 InvariantGlobalization 为 true 之后,将会发现原本能正常工作的 XAML 可能就会抛出异常。...本文将告诉大家此问题的原因 这是有开发者在 WPF 仓库上给我报告的 bug 我才找到的问题。问题的现象是 XAML 抛出异常,步骤有些复杂: 升级到 dotnet 6 版本。...为 true 的值 在 XAML 绑定静态的非字符串类型的属性,例如 int 类型的属性,如以下代码 这是 MainWindow.xaml.cs 的代码: using System.Windows;...的代码 <Window x:Class="repro.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation...因此这个问题其实是 dotnet 6 的符合预期的行为,也不是 WPF 的问题 附设置 InvariantGlobalization 为 true 的方法如下 编辑 csproj 项目文件,添加 <InvariantGlobalization

    53230

    WPFUWP 的 Grid 布局竟然有 Bug,还不止一个!了解 Grid 中那些未定义的布局规则

    12 08:04 只要你用 XAML 写代码,我敢打赌你一定用各种方式使(nuè)用(dài)过 Grid。...我试着稍微增加第二个 Border 的宽度,突然间,刚刚缩小窗口时的行为也能复现! ? 自动尺寸也能玩比例 现在,我们抛弃之前的右对齐测试方法,也不再使用预期按比例划分空间的 *。...这些未定义的规则总结起来有以下三点: 在无穷大布局空间时的 * 的比例 在跨多列布局时 * 的比例 在全 Auto 尺寸时各列尺寸 不过你也可能会吐槽我的用法不对,可是,作为一个连表现行为都公开的 API...,其行为也是 API 的一部分,应该具有明确可追溯可文档化的行为;而不是由用户去探索,最终无法猜测可发生事情的行为。...微软没有任何官方文档公开了这些诡异的行为,我也没有在任何第三方资料中找到这样的行为(这些都是我自己总结的)。我认为,微软没有为此公开文档是因为行为太过诡异,无法编写成文档!

    99910

    WPF 双向绑定到非公开 set 方法属性在 NET 45 和 NET Core 行为的不同

    本文记录 WPF 在 .NET Framework 4.5 和 .NET Core 3.0 或更高版本对使用 Binding 下的 TwoWay 双向绑定模式绑定到非公开的 set 属性上的行为变更 在...> 以上代码是能在 .NET Framework 4.5 如预期工作。...经过我的考古,在 .NET Framework 4.6 下的行为就和 .NET Core 3.0 版本相同,是会抛出异常 敲黑板,使用双向绑定到非公开 set 方法的属性上的行为变更,不是 .NET Framework...和 .NET Core 的差别行为变更,而仅仅是 .NET Framework 4.5 和后续版本的差别 以下是原文: So, this was a BUG in framework V4.5, when...set 为私有,那也就是从设计上不要让其他逻辑进行设置,自然在 XAML 里对非公开设置的属性进行写入也是非预期的,抛出异常符合设计 本文所有代码放在github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码

    1.2K20

    深入探究 Android Activity 启动模式:CLEAR_TOP 与 NEW_TASK 实战解析

    此外,如果没有正确理解任务和任务栈的概念,可能会导致 Activity 启动的行为与预期不符。...因此,在使用 FLAG_ACTIVITY_NEW_TASK 时,我们需要确保充分理解了它的行为和可能的副作用。...不符合预期的表现描述如下: 设置了手势密码,kill掉app,收到消息离线推送弹窗,点击弹窗拉起app,没有弹出手势密码页面,而是直接进入消息页面。...消息页面的onActivityResumed触发了upAppLock,重新把手势密码页面弹出到任务栈的最上面。此时的任务栈符合产品预期逻辑。...然而,使用它们时需要谨慎,确保理解了它们的行为和可能的副作用。在实际开发中,我们可能会遇到一些复杂的场景,如小米手机上的离线推送问题。

    59020

    WPF 从 RGB 字符串转纯色颜色画刷的方法

    本文告诉大家几个方法用来从 RGB 字符串转纯色的 SolidColorBrush 画刷 在 Windows 下,约定的编程规范里,颜色的 RGB 的字符串表示方法是 #[A]RGB 的格式,一定是 R...红色,接着是 G 绿色,最后是 B 蓝色,其中可选首个 Alpha 通道 颜色格式如下 #AARRGGBB: 这是最完全的字符串表示方式 #RRGGBB: 省略了 Alpha 通道,此表示方式的 Alpha...通道等同于 0xFF 的值,表示不透明的纯色 #ARGB: 对于 #AARRGGBB 不同的是,只使用一个字符表示一个通道,例如 #AC12 等同于 #AACC1122 的颜色 #RGB: 和 #ARGB...差不多,只是省略 Alpha 通道,表示不透明的纯色 在开始进行转换时,如果发现转换的颜色不符合预期,还请先仔细阅读一下传入的颜色字符串,看字符串的格式是否符合预期 BrushConverter 使用框架自带的...这个 BrushConverter 类型也是 XAML 里面转换颜色字符串所采用的转换器 var brushConverter = new BrushConverter(); 使用

    78530

    UNO 已知问题 在后台线程触发 SKXamlCanvas 的 Invalidate 且在 PaintSurface 事件抛出异常将炸掉应用

    详细请看 https://github.com/unoplatform/uno/discussions/15097 当前行为: 当我使用 SKXamlCanvas 时,如果我在 PaintSurface...事件里面抛出任何异常,且当前的 PaintSurface 事件是由后台线程触发的,那将导致我的进程崩溃 预期行为:即使在 PaintSurface 事件里面抛出任何异常,应用程序也可以正常工作且收集到异常...,比如通过 TaskScheduler.UnobservedTaskException 事件收集到异常 复现步骤: 添加 SKXamlCanvas 到 xaml 里 订阅 SKXamlCanvas 的...PaintSurface 事件,且在事件实现方法抛出异常 在后台线程调用 SKXamlCanvas 的 Invalidate 方法 核心的代码实现如下 在 XAML 添加 SKXamlCanvas 控件...在 SKXamlCanvas 的具体实现里面,通过 async void 等待执行结果,而根据 dotnet 的已知问题可以知道,在 async void 收到任何异常都会导致进程崩溃,此行为详细请参阅

    13710

    基于Mono跨平台移动应用开发框架发布Xamarin 3.0

    跨平台移动应用开发框架Xamarin可以让你完全用C#编写你的应用程序,在iOS、Android、Windows Phone 8、Windows8和mac平台上共享相同的代码。...你可以重用你最喜欢的.NET库,而且还很容易地使用平台特定的库和框架。Xamarin提供了高性能编译的代码和完全访问所有本地API。...首先,他们有了一个坚实的iOS界面设计器,而且不依赖于苹果的Xcode。...它是一个抽象的控件平台。您可以通过代码或者是XAML来描述一个按钮,并正确的获得按钮在每个操作系统的行为。...你甚至可以创建或者是重写特定的控件,这一部分使用XAML可满足了很多做个Silverlight/WPF/WP 同学的期盼,终于在界面层统一了,当然界面层上还有一些平台特有的还得使用平台相关的UI,这样可以把代码的共享比例进一步提高了

    1.3K60
    领券