xaml 相关问题

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

WPF:基于列索引的绑定

在 WPF 中,如何基于 DataGrid 单元格的列索引创建数据触发器?我可以访问该列,但该列只有 DisplayIndex 可用,而不是真正的索引。我需要设计风格...

回答 2 投票 0

选择监视器以显示 WPF 应用程序

我正在开发 WPF 应用程序,我想选择显示窗口的监视器。我的.NET版本是8.0,SO是Windows,版本是7.0。 我正在尝试应用 Mostlytech 步骤,...

回答 1 投票 0

如何实现具有垂直组和水平项目的 .Net Maui CollectionView 布局

我正在尝试在应用程序中实现某种外观,以分类方式显示项目。 据我所知,CollectionView 允许我们准确地做到这一点,并且我已经成功了......

回答 1 投票 0

WinUI 3 RadioButton System.Runtime.InteropServices.COMException

我有一个 WinUI 3 应用程序。有一个扩展 ContentDialog 的简单自定义对话框。 对话框的 XAML 我有一个 WinUI 3 应用程序。有一个扩展 ContentDialog 的简单自定义对话框。 对话框的 XAML <StackPanel Grid.Column="0" Orientation="Vertical"> <RadioButton x:Name="GeneralTabButton" Content="{common:LocalizedUIString Uid=SettingsTab.General}" GroupName="GROUP_Setting" Command="{x:Bind VM.SelectGeneralSettingsCommand}" Style="{StaticResource SettingsRadioButton}"> </RadioButton> <RadioButton x:Name="SettingsTabButton" Content="{common:LocalizedUIString Uid=SettingsTab.Database}" GroupName="GROUP_Setting" Command="{x:Bind VM.SelectDatabaseSettingsCommand}" Style="{StaticResource SettingsRadioButton}"> </RadioButton> </StackPanel> 当我想在显示对话框时设置某些单选按钮的 IsChecked 状态时出现问题。有时它最终会出现 System.Runtime.InteropServices.COMException 且没有任何附加信息。看起来很随意。有时它会在第二次放映时崩溃,有时在第十次放映时崩溃。它在第一次放映时永远不会崩溃。 我尝试直接从 XAML 设置状态,我尝试在 Loaded 方法中设置状态(甚至通过 DispatcherQueue)。每次都会调用对话框的卸载事件。我正在使用 WindowsAppSDK 1.2.221209.1。单选按钮的风格几乎就是微软风格,单选按钮状态有不同的颜色。 至少有什么方法可以查明这个问题的根源吗? 编辑: 我有x64打包的WinUI3应用程序,最新版本的WindowsAppSDK也有同样的问题。我发现可以通过删除 GroupName 来解决这个问题。这些是可以复制此问题的最少步骤: 使用 Windows 应用程序打包项目创建新的空白打包 WinUI3 应用程序 创建新的用户控件,将基类更改为 ContentDialog 并添加新的单选按钮 此组件的 Xaml <ContentDialog x:Class="RadioButtonGroupCrash.Dialog" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" IsPrimaryButtonEnabled="True" IsSecondaryButtonEnabled="True" PrimaryButtonText="Ok" SecondaryButtonText="Cancel"> <StackPanel> <RadioButton x:Name="rb1" GroupName="group"> </RadioButton> <RadioButton x:Name="rb2" GroupName="group"> </RadioButton> </StackPanel> </ContentDialog> 隐藏代码 using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; namespace RadioButtonGroupCrash { public sealed partial class Dialog : ContentDialog { public Dialog() { this.InitializeComponent(); Loaded += Dialog_Loaded; } private void Dialog_Loaded(object sender, RoutedEventArgs e) { rb1.IsChecked = true; } } } 在MainWindow代码中显示对话框 private async void myButton_Click(object sender, RoutedEventArgs e) { await new Dialog() { XamlRoot = App.MainWindow.Content.XamlRoot }.ShowAsync(); } 似乎是 WinUI3 框架中的一个错误。 回复 GitHub 上跟踪的此问题: 此问题已得到解决,并计划在下一个预览版 1.6 中发布。 问题源于托管垃圾收集与内部单选按钮表的交互。当单选按钮被命名时,它会被输入到一个内部表中,在确定选中新按钮时取消选中哪个按钮时会搜索该表。该条目将保留在此表中,直到单选按钮被破坏,但通过垃圾收集,它可以在从树中删除后保留一段时间。因此,当您显示/隐藏内容对话框时,您可以在此内部表中获取该对话框的多组单选按钮。这是正确处理的,除非垃圾收集的时机恰到好处。当垃圾回收发生时,它会在 UI 线程之外进行,因此它只会部分破坏 UI 元素,然后安排其余部分在 UI 线程上完成。如果在垃圾收集已部分销毁该项目之间出现复选框选中的更改,但 UI 线程尚未完成该销毁,则单选按钮代码不会意识到,即使它仍然存在,但它处于错误状态最终导致这次崩溃。我们已经修改了流程,不再依赖垃圾收集中部分破坏的任何数据。 GitHub 问题 - ContentDialog 中带有 GroupName 的 RadioButton #8534

回答 1 投票 0

继电器命令不执行

我已经查看了有关此主题的其他一些问题,但尚未找到解决方案。 数据绑定正在工作,我使用不同的标签和输入字段进行了测试以确保。我没有获得数据绑定

回答 1 投票 0

.NET Maui 如何在涉及图标的弹出菜单中执行非常具体的操作

抱歉标题不好...我想不出一种方法来用一句话解释我想要做什么。另请注意,该平台完全是 Android 的(我认为这并不重要,但我可以...

回答 1 投票 0

将 MAUI ControlTemplate 绑定到 ContentPage 视图模型

我正在尝试添加一个通用控件,我希望出现在应用程序中每个内容页面的底部(这些都将位于 TabBar 内)。我在 App.xaml 中创建了一个 ControlTemplate,然后我放置了 Picker...

回答 2 投票 0

是否可以将 MahApps 的 TextBoxHelper 应用于 ScrollViewer?

我正在构建一个 WPF 应用程序,其中有一个 TextBox。要对其应用圆角,在这里我读到我需要使用边框内的 ScrollViewer 创建特定的样式。到目前为止一切顺利,b...

回答 1 投票 0

元素之间的空白空间.NET MAUI

整个页面是一个网格。我试图将子网格放置在父网格的顶部。这适用于 Android。在 Apple 上也适用于 iPhone 14。在 iPhone 14 和 15 上,父母和...

回答 1 投票 0

使用 MCT 弹出窗口的 CarouselView 中的标签文本在 MAUI 中溢出

在 MAUI 社区工具包 (MCT) 弹出窗口中使用 CarouselView,轮播数据模板中设置的标签似乎溢出。设置一个固定的WidthRequest小于po的宽度...

回答 1 投票 0

使用MVVM将ListView绑定到ObservableCollection

我正在开发一个毛伊岛应用程序。我使用 MVVM 结构和 MVVM 社区工具包来更轻松地生活。现在,我在显示绑定到 My

回答 1 投票 0

使用指标加载数据的正确方法

我想在加载数据时显示活动指示器。 正确的方法是什么? 当我导航到此页面时,加载指示器根本不显示,在导航过程中感觉就像一个

回答 1 投票 0

无法加载名为

我正在使用 Xamarin.Forms 开发一个应用程序。 我想创建一个 ImageButton,但得到以下输出: [0:] 无法加载名为:{0}: Image.png 的图像 [0:] FileImageSourceHandler: 找不到...

回答 1 投票 0

WPF - 删除数据网格中的边框线

我正在 WPF 中创建一个数据网格,以在表中显示数据库中的值。我正在努力让它看起来很漂亮,目前我正朝着我想要的方向走在正确的道路上。尽管如此,我还是想...

回答 1 投票 0

WPF Datagrid:更改数据网格单元前景色

我有 DataGrid 控件,将 ItemSource 绑定到 DataTable。 DataTable 数据是通过 SQL 查询从 Oracle 数据库检索的。 列名和计数不固定,所以我设置了 AutoGenerateColumns...

回答 1 投票 0

有没有办法在 UWP TimePicker 上设置“放置”?

现在我有一个 XAML 中的基本 TimePicker: 现在我在 XAML 中有一个基本的 TimePicker: <TimePicker x:Name="PeriodEndTimePicker" Visibility="Collapsed" Margin="8 5 0 5" Header="Period End Time" SelectedTimeChanged="PeriodEndTimePicker_SelectedTimeChanged"/> 当您单击时间选择器时,它会弹出一个弹出窗口。当放置在屏幕中间附近或远离屏幕顶部的某个位置时,您可以完全看到弹出窗口,并且将鼠标悬停在时间选择器列上时能够看到箭头按钮以更改值。 但是,如果您将窗口放置在屏幕顶部附近或最大化应用程序窗口,弹出窗口会被切断,并且您将不再能够看到用于向上移动值的向上箭头。 是否可以移动位置,使弹出按钮的顶部位于时间选择器下方? 附注没有什么可以阻止用户使用鼠标滚轮滚动,或者进行部分悬停并单击以移动到下一个数字,但我的老板坚持要让箭头出现。 此行为是设计使然。当弹出窗口靠近屏幕底部时,它会移动到更好的显示位置,但当弹出窗口靠近屏幕顶部时,它会部分隐藏。 我们可以在TimePicker中找到generic.xaml的样式,这些样式在\(Program Files)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\10.0.xxxxx.0\Generic中可用。 TimePicker的弹出窗口没有任何内容,我们在可视化树中也看不到该弹出窗口。所以我们无法做出任何改变。 如果这种行为影响了你的开发进度,建议你自己写一个自定义的TimePicker。你可以参考这个线程,它使用四个listview来实现一个简单的选择器。

回答 1 投票 0

如何将WPF ComboBox宽度设置为XAML中最大项目的大小?

我有一个组合框: 我有一个组合框: <ComboBox Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" ItemsSource="{Binding Options}" SelectedItem="{Binding SelectedOption}" DisplayMemberPath="DisplayName"/> Options 中的第一项将始终包含一个选项,其中 option.DisplayName = string.Empty 这会导致组合框非常薄,因为不需要空间来显示 string.Empty。 在 XAML 中,有没有办法自动将 ComboBox 的宽度设置为 ItemsSource 中最大字符串的大小?我不想测量最长项目的宽度并将其设置在 .xaml.cs 如果重要的话,组合框所在的网格看起来像: <Grid Margin="5" Height="500"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> 如果您希望将 ComboBox 在布局中居中,但仍希望其自动调整大小,则可以使用 Grid 作为布局容器。这样Grid就会照顾好你的ComboBox。 由于您已经在使用 Grid 来布局元素,因此您所要做的就是定义列。 只需创建至少三列(您可以使用 Grid.ColumnSpan 将列合并为居中元素的三列行)并将 ComboBox 放置在中心列中。在其他元素上设置 Grid.ColumnSpan,以允许它们跨越整个 Grid。然后将 HorizontalAlignment 的 ComboBox 设置回 HorizontalAlignment.Stretch(这是默认值): <Grid Margin="5" Height="500"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> <!-- Center column --> <ColumnDefinition /> </Grid.ColumnDefinitions> <!-- The centered ComboBox element --> <ComboBox Grid.Row="1" Grid.Column="1" /> <!-- A TextBox element that stretches across the full Grid --> <TextBox Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3" /> </Grid>

回答 1 投票 0

CollectionView 的内部列表超级滞后

我有一个 CollectionView 可以说老师,每个老师都有学生。我想列出老师,在里面我想列出所有学生及其自己的数据 它按预期工作,但超级滞后......

回答 1 投票 0

如何在 WinUI 3 (MVVM) 中显示 ContentDialog

基本上我的问题是:我试图在我的 WinUI 3 应用程序中显示 ContentDialog。 打开对话框的命令是由我的“主页”(LibraryPage)上的上下文菜单按钮触发的 ...

回答 1 投票 0

实时更新故事板绑定

我想沿着正弦半径的圆制作一个对象的动画,其中幅度和频率可以改变。 我已经成功创建了正弦圆,以及一个遵循其初始化的对象......

回答 1 投票 0

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