xaml 相关问题

可扩展应用程序标记语言(XAML)是一种基于XML的声明式语言,用于在各种框架中初始化结构化值和对象。当问题是关于具有特定框架的XAML的使用时,还应该提供框架的标签,例如, [wpf](Windows Presentation Foundation),[silverlight],[windows-phone],[windows-store-apps](Windows 8商店应用),[win-universal-app],[xamarin.forms]或[工作流程 - 基础]

WPF 窗口占用最大屏幕可用空间

考虑一个未指定宽度/高度且 SizeToContent="WidthAndHeight" 的 WPF 窗口,其中内容是动态设置的,如后面某处的代码所示: win.Content = 新

回答 1 投票 0

防止滑动手势传播到 .NET MAUI 中的父控件上?

有没有办法阻止 .NET MAUI 中的控件将滑动手势传播到其父控件? 对于这个项目,我在 TabView 中使用 DXRangeSlider。两者都是免费的毛伊岛续...

回答 1 投票 0

禁用XAML绑定警告? #pragma 警告禁用 XC0022

我正在使用 Maui XAML,但我想在单个文件上禁用此 XAML 警告(好吧,也许是几个;))。 XamlC XC0022 警告:如果指定 x:DataType,则可以编译绑定。 在 C# 中我...

回答 1 投票 0

将 json 对象反序列化为具有多个目标的正确 C# 对象

我目前正在学习编程并尝试了天气应用程序的教程,但该教程有点过时了。在 API 链接中,我通常会输入 ctiy 名称,然后天气数据就会出现...

回答 1 投票 0

将对象反序列化为多个c#对象

我目前正在学习编程并尝试了天气应用程序的教程,但该教程有点过时了。在 API 链接中,我通常会输入 ctiy 名称,然后天气数据就会出现...

回答 1 投票 0

如何从图像元素源C#获取和删除文件

上下文:我的最终用户从他的计算机中选择一个图像,用作我的 C# 独立桌面应用程序中的个人资料图片。后端基本上复制了最终用户在...中选择的图像

回答 1 投票 0

Avalonia 如何使用缓动进行颜色过渡

我想为我的按钮制作漂亮的背景填充。颜色填充需要从中心开始(就像默认的 Android 点击动画一样)。我阅读官方指南,但我的代码没有给出这样的效果...

回答 1 投票 0

从 WPFapplication 创建的可运行 Dll 找不到引用的 ResourceDictionary

我现在搜索了一段时间,没有找到针对具体问题的解决方案。 首先,我开发了一个 WPF 应用程序,其中包含多个项目和用户控件,在更多...

回答 1 投票 0

为什么 Ellipse 的 Fill 的 ImageSource 属性不接受 ImageSource 对象类型?

我有一个名为“Image”的 ImageSource 类型的 DependencyProperty。 公共静态只读 DependencyProperty ImageProperty = DependencyProperty.Register(nameof(Image), typeof(ImageSource), ty...

回答 1 投票 0

.Net MAUI FindResource 方法

在 .Net WPF 中,有一个名为 FindResource() 的方法,用于通过其密钥获取绑定源。因此,我在 .Net MAUI 中开发应用程序时需要它。不幸的是,没有名为

回答 1 投票 0

如何为列表创建树形视图<List<int>?

我有一个 EntityDisplay 类,其中包含 2 个属性: 公共密封类 EntityDisplayObject { 公共 ICollection 集合 { 获取;私人套装; } 公共字符串集合名称{获取;

回答 1 投票 0

无法两次选择 MRU 最近文件项

我有一个使用 RibbonApplicationMenu 的应用程序,该菜单是我使用 WPF ObservableCollection 中的示例创建的,但未在功能区视图中更新。这u206c列出了最近打开的文件。嗬...

回答 1 投票 0

WPF 动画有时不运行

我有一些非常简单的代码,尝试滑动自定义进度条。这是 XAML: 我有一些非常简单的代码,尝试滑动自定义进度条。这是 XAML: <!-- Progress display --> <uControl:ProgressDisplayPie x:Name="soakProgressDisp" Canvas.Left="357" Canvas.Top="29" ProgressValue="0" Height="198" /> 响应按钮单击,进度条会滑过: private void sauceApplied_Click(object sender, RoutedEventArgs e) { // Beep beep soundPlayer.SoundLocation = "Resources/Audio/1-first.wav"; soundPlayer.Play(); // Move the progress display DoubleAnimation moveAnimation = new DoubleAnimation(); moveAnimation.To = 460; moveAnimation.Duration = TimeSpan.FromMilliseconds(1000); moveAnimation.AccelerationRatio = 1.0; soakProgressDisp.BeginAnimation(Canvas.LeftProperty, moveAnimation); } 这在我的电脑上每次都有效。然而,当在小型平板电脑上运行时,有时不会出现动画。进度条只是保持原样。我检查了是否抛出任何异常,但一切都执行得很干净。 平板电脑具有最新的.NET,并且有时会出现动画。有什么想法可以阻止动画每次都发生吗? 更新 事实证明,动画总是会“最终”运行。如果动画没有运行,我通常会退出应用程序,但我现在注意到,如果我不理会它,动画最终会开始。所以实际上有两种模式: 动画开始并按预期立即运行 动画的开始延迟了一定的时间。我见过它延迟几秒到大约 1 分钟! 尝试删除任何透明度或效果,看看问题是否消失。我也遇到过同样的问题,这是错误的AllowTransparency... 对于进度条,我认为如果在开始动画之前没有为它们分配值并且动画更改了它们的值,我会发现它们有时不会运行。为了解决这个问题,即使动画要改变它,我也只分配值 0。

回答 2 投票 0

如何从 MAUI 中的 .blazor 页面调用 .xaml 页面内部的函数

我想从 .blazor 页面内的 .xaml.cs 文件调用函数。目标是在单击特定按钮时调用它,但我找不到有关如何完成此操作的任何信息;的...

回答 1 投票 0

将 ListBox 项目转换回其 Collection 类型

在我的 XAML 中,我有两个选项卡,第一个包含绑定到 ObservableCollection 对象的 ListBox,称为 ParameterFilesList,第二个包含绑定到 ObservableCollection 对象的 ListBox,称为

回答 3 投票 0

设置d:所有页面的设计高度

我的 WPF 项目由许多页面组成,所有页面都加载到同一框架中。我当前在每个单独文件的 Page 标签中指定 d:DesignHeight 和 d:DesignWidth。 我想具体说明...

回答 2 投票 0

WPF:同步ItemsControl中所有项目的宽度

是否可以将WrapPanel中所有TextBlock的宽度调整为WrapPanel中最大TextBlock的大小?最终结果应该是包含“S...

回答 4 投票 0

WPF DataGrid SelectedItem 绑定在项目更改后停止工作

我的问题/情况与 Wpf DataGrid SelectedItem 在单元格编辑后失去绑定非常相似,但我没有使用任何“自定义”WPF 框架。我有一个实现 INotifyPropertyChanged 和

回答 2 投票 0

如何安装特定版本的Microsoft.UI.Xaml

我正在尝试安装 WindowsSubsytemAndroid 和 PowerShell 告诉我我需要以下内容: “Microsoft.UI.Xaml.2.6”,最低版本为 2.62108.18004.0。 我成功安装了(获取-

回答 4 投票 0

如何更改 .NET MAUI 中 TabBar 的选项卡标题字体

在我的 AppShell.xaml 中,我有以下 TabBar 代码。我似乎找不到允许我更改标题字体(和字体大小等)的属性或任何内容。 在我的 AppShell.xaml 中,我有以下 TabBar 代码。我似乎找不到允许我更改标题字体(和字体大小等)的属性或任何内容。 <TabBar x:Name="TabBar"> <Tab x:Name="HomePage" Title="Home" Icon="tab_home.png"> <ShellContent ContentTemplate="{DataTemplate local:MainPage}" Route="MainPage" /> </Tab> </TabBar> 即使在 Resources/Styles/Styles.xaml 中,我也没有在 shell 或选项卡页中看到字体系列的属性。 您可以尝试在 Shell 选项卡中设置字体图标。 请参考以下代码: 1.添加你想要的字体。 public static class MauiProgram {       public static MauiApp CreateMauiApp()       {             var builder = MauiApp.CreateBuilder();             builder                   .UseMauiApp<App>()                   .ConfigureFonts(fonts =>                   {                         fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");                         fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); // add your font here fonts.AddFont("icomoon.ttf", "FA"); });             return builder.Build();       } } 2.用途: <TabBar> <ShellContent Title="About" Icon="{FontImage FontFamily=FA , Glyph=&#xe922;}" Route="AboutPage" ContentTemplate="{DataTemplate local:CatsPage}" /> <ShellContent Title="Items" Icon="{FontImage FontFamily=FA , Glyph=&#xe910;}" ContentTemplate="{DataTemplate local:MainPage}" /> </TabBar> 注: 请将字体添加到文件夹Fonts并确保构建操作为MauiFont。 基于如何删除或隐藏 TabBar .NET MAUI 中选项卡的文本?中的答案 您可以更改选项卡栏中标题的字体和字体大小。 在安卓系统中: 您需要在Platforms/Android/Renderers中添加自定义渲染器 [assembly: ExportRenderer(typeof(Shell), typeof(CustomShellRenderer))] namespace YourApp.Platforms.Android.Renderers; public class CustomShellRenderer : ShellRenderer { public CustomShellRenderer(Context context) : base(context) { } protected override IShellBottomNavViewAppearanceTracker CreateBottomNavViewAppearanceTracker(ShellItem shellItem) { return new CustomBottomNavViewAppearanceTracker(this, shellItem); } } public class CustomBottomNavViewAppearanceTracker : ShellBottomNavViewAppearanceTracker { public override void SetAppearance(BottomNavigationView bottomView, IShellAppearanceElement appearance) { base.SetAppearance(bottomView, appearance); // Set custom font with any font file name you need as registered in MauiProgram.cs builder.ConfigureFonts() var font = Typeface.CreateFromAsset(ShellContext.AndroidContext.Assets, "FONTFILENAME.ttf"); // replace FONTSIZE with you needed font size var spanFace = new CustomTypefaceSpan("", font, FONTSIZE); // if you need you can change the direction of the bottom navigation view bottomView.LayoutDirection = LayoutDirection.Rtl; var menu = bottomView.Menu; for (var i = 0; i < menu.Size(); i++) { // Set custom label with custom fonts var menuItem = menu.GetItem(i); if (menuItem == null) continue; var spannableString = new SpannableString(menuItem.TitleCondensedFormatted); spannableString.SetSpan(spanFace, 0, spannableString.Length(), SpanTypes.ExclusiveExclusive); menuItem.SetTitle(spannableString); } } public CustomBottomNavViewAppearanceTracker(IShellContext shellContext, ShellItem shellItem) : base(shellContext, shellItem) { ShellContext = shellContext; } private IShellContext ShellContext { get; } } } public class CustomTypefaceSpan : TypefaceSpan { private float? FontSize { get; } private readonly Typeface _typeface; public CustomTypefaceSpan(string family, Typeface typeface, float? fontSize = null) : base(family) { FontSize = fontSize; _typeface = typeface; } public override void UpdateDrawState(TextPaint ds) { ApplyCustomTypeFace(ds, _typeface); } public override void UpdateMeasureState(TextPaint paint) { ApplyCustomTypeFace(paint, _typeface); } private void ApplyCustomTypeFace(Paint paint, Typeface tf) { if (FontSize != null && FontSize != 0) paint.TextSize = FontSize.Value; paint.SetTypeface(tf); } } 在 MauiProgram.cs 添加到 builder 调用的对象 .ConfigureMauiHandlers(handlers => { #if ANDROID handlers.AddHandler(typeof(Shell), typeof(Platforms.Android.Renderers.CustomShellRenderer)); #endif }); 我将研究 iOS 并相应地更新代码。 在 iOS 上,可以通过类似的方式实现: 通过使用为每个平台实现的分部类,无需使用条件编译。平台文件夹中的每个分部类共享相同的命名空间,这一点很重要。 在共享文件夹中: public partial class TabbarBadgeRenderer : ShellRenderer { } 在 iOS 文件夹中: public partial class TabbarBadgeRenderer : ShellRenderer { protected override IShellTabBarAppearanceTracker CreateTabBarAppearanceTracker() { //return base.CreateTabBarAppearanceTracker(); return new BadgeShellTabbarAppearanceTracker(); } class BadgeShellTabbarAppearanceTracker : IShellTabBarAppearanceTracker { public void Dispose() { } public void ResetAppearance(UITabBarController controller) { } public void SetAppearance(UITabBarController controller, ShellAppearance appearance) { } public void UpdateLayout(UITabBarController controller) { foreach(var tabBarItem in controller.TabBar.Items) { // adjust the insets accordingly tabBarItem.ImageInsets = new UIEdgeInsets(5, 5, 5, 5); } } } } 在 Android 文件夹中,您可以添加 Android 的实现。 在 MauiProgram 添加以下内容: builder.ConfigureMauiHandlers(h => { h.AddHandler<Shell, TabbarBadgeRenderer>(); })

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.