可扩展应用程序标记语言(XAML)是一种基于XML的声明式语言,用于在各种框架中初始化结构化值和对象。当问题是关于具有特定框架的XAML的使用时,还应该提供框架的标签,例如, [wpf](Windows Presentation Foundation),[silverlight],[windows-phone],[windows-store-apps](Windows 8商店应用),[win-universal-app],[xamarin.forms]或[工作流程 - 基础]
无法在 .Net 9 应用程序中引用 WinUI3 社区工具包
大项目正在将UWP应用程序转换为WinUI3。 UWP 应用使用 UWP Toolkit 作为网格拆分器控件。 尝试在 WINUI + .Net 9 中引用 CommunityToolkit 我可以选择 Nuget Package
WPF - 将 XAML 内容导出到文件(PDF 或 Word)
我有一个非常简单的 WPF 应用程序,但有很多表单(近 80 个),分布到 UserCcontrol xaml 文件中,并在主 Window 文件上使用 TabControl 进行导航。其中一些表格...
ListView 中第一个项目的 WinUI 复选框不反映来自服务器同步的绑定属性更改
说明: 我在 WinUI 3 应用程序中遇到奇怪的行为,其中 ListView 显示项目集合。每个项目模板中的复选框都绑定到一个名为
当我尝试添加日志时,Visual Studio 抛出 DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
当我尝试使用以下代码(用于记录剧院旅行的应用程序)或搜索日志添加日志时,我会被发送到 App.g.i.cs 自动生成的代码。我使用了断点并单步执行代码,它......
在WinUI3项目中,我有3个视图IconEditorView、ColorEditorView和ImageEditorView,每个视图都有对应的ViewModel IconEditorViewModel、ColorEditorViewModel和ImageEditorViewModel...
我使用 WindowStyle None ,我的导航栏是一个矩形,正常 WindowState 的 RadiusX 和 RadiusY 设置为 16,我希望当窗口最大化时它们为 0。 我确实设法得到它们......
处理 MAUI 中 AbsoluteLayout 内元素之间的深度
我有一个名为 CameraPage 的页面,其中包含一个具有多个子级的 AbsoluteLayout,我的问题是填充布局的最大元素始终位于其他所有元素的前面。 这里...
.NET MAUI 9 中的绑定和相对源问题 - 发布版本需要 XamlCompilationOptions.Skip
我正在开发 .NET MAUI 9 应用程序,在 XAML 中设置 x:DataType 时使用relativesource 时遇到绑定问题。具体来说,当我尝试在我的内容中绑定命令时...
在我的特定情况下,我想绑定到 TextBox 的 IsReadOnly 属性来设置 Button 的 Content 属性?它们都是同一个 StackPanel 的一部分。 我尝试过用 DataTri 来做...
有没有办法在 .NET MAUI 8 中使用 Aspect="AspectFill" 在其显示区域内对齐/定位 ,或者是否有一种解决方法可以产生相同的视觉结果? 我正在尝试...
.NET MAUI:想要将父对象传递给转换器和控件,但没有收到 OnPropertyChanged
我在 MAUI 中不断遇到这个问题,我怀疑这是由于对 MVVM 的一些基本误解造成的。 假设我有: 公共类学生:ObservableObject { [ObservableProperty] 字符串 _nam...
如何在 Windows 8 / WinRT 中将 SVG 文件转换为 XAML
如何在 Windows 8 / WinRT 中将 SVG 文件转换为 XAML。我是这个 XAML / SVG 环境的新手。所以有人请帮助我在 Windows 8 中实现相同的功能。我需要解析这个 svg 文件并且需要...
使用命令和 AncestorType 时的 XAML 绑定警告
我有一个使用 CollectionView 的小型 MAUI 程序 - 每个项目都有一个带有命令的按钮(如changeitem) 该应用程序正在运行。但我在编译和运行时收到有关
我需要在 Avalonia UI 中创建一个自定义窗口,没有任何操作系统装饰(在本例中为 Windows 11)。到目前为止,我能够找到一堆使窗口完全透明的属性,但是......
当 PointerOver 和 Selected 时更改 CollectionView 项目的背景颜色
我正在创建一个简单的 ProductManager 来学习 .NET MAUI。 在暗模式下,当指针悬停在 CollectionView 中的项目上以及选择它们时,CollectionView 中的项目具有清晰的背景颜色,正如...
对于 MAUI 开发来说相当陌生。我的 MAUI 应用程序中有一种情况,我需要根据布尔值更改许多标签的文本颜色。因此,如果布尔为真,我希望许多标签从白色切换...
如果选择了一项,则仅在双向场景中设置 selectedItem 绑定
在数据网格上下文中,所选项目有两种方式绑定,如果选择多行,如何防止 g.cs 代码更新绑定? 在所选项目上有双向绑定的数据网格上下文中,如果选择了多行,如何防止 g.cs 代码更新绑定? <dataGridControl:DataGrid SelectedItem="{x:Bind Model.SelectedItem, Mode=TwoWay}" 在用户选择多行的场景中,当您选择多行时,它会使用最后选择的行,当然,考虑到它是双向绑定,如果不清除视图模型中的选定项属性,则无法清除视图模型中的选定项属性。整个 DataGrid 选择。考虑到选择了多行而不是最后一行,视图模型中的所选项目具有误导性。 SelectedItem是内部设置的,很难改变其行为。 相反,您可以创建自定义 DataGrid 控件并使用 SelectedItems 覆盖 ObservableCollection 属性。 public class DataGridEx : DataGrid { public static readonly DependencyProperty SelectedItemsProperty = DependencyProperty.Register( nameof(SelectedItems), typeof(IList), typeof(DataGridEx), new PropertyMetadata(new ObservableCollection<object>())); public DataGridEx() : base() { this.SelectionChanged += (s, e) => { foreach (object item in e.RemovedItems) { SelectedItems.Remove(item); } foreach (object item in e.AddedItems) { SelectedItems.Add(item); } } } public new IList SelectedItems { get => (IList)GetValue(SelectedItemsProperty); set => SetValue(SelectedItemsProperty, value); } }
我希望获得基于数据网格的选定项目计数的可见性。不过,这在winui中似乎不起作用,但在WPF中却工作得很好? 转换器: 公共对象转换(对象值,类型
为什么 MouseLeftButtonUp 在 WPF 中不触发?
为什么 Canvas 上的 MouseLeftButtonUp 在我的 WPF 应用程序中没有触发? 这是 XAML: 为什么 Canvas 上的 MouseLeftButtonUp 在 WPF 应用程序中没有触发? 这是 XAML: <Grid Height="300" Width="400"> <Canvas Name="canvas" MouseMove="canvas_MouseMove" MouseLeftButtonUp="canvas_MouseLeftButtonUp" Background="LightGray"/> </Grid> 代码: private bool hasClicked = false; public Window1() { InitializeComponent(); } private void canvas_MouseMove(object sender, MouseEventArgs e) { if (!this.hasClicked) { this.Cursor = Cursors.None; this.canvas.Children.Clear(); this.insertRectangle(false); } } private void insertRectangle(bool filled) { Rectangle rect = createRect(filled); Point pos = Mouse.GetPosition(this.canvas); Canvas.SetLeft(rect, pos.X); Canvas.SetTop(rect, pos.Y); this.canvas.Children.Add(rect); } private Rectangle createRect(bool fill) { Rectangle rect = new Rectangle(); rect.Height = 50; rect.Width = 120; if (fill) { rect.Fill = new SolidColorBrush(Colors.Green); } else { rect.Stroke = new SolidColorBrush(Colors.Green); } return rect; } private void canvas_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { this.hasClicked = true; this.insertRectangle(true); this.Cursor = Cursors.Arrow; } 编辑:我尝试向画布添加背景颜色,但事件仍然没有触发。看起来 MouseMove 以某种方式覆盖了 MouseLeftButtonUp。 Edit2:如果我删除 MouseMove 事件,mouseLeftButtonUp 将触发。 Edit3:更大的代码示例。 在insertRectangle方法中,如果我使用 Canvas.SetTop(rect, 50); instead of Canvas.SetTop(rect, pos.Y); 事件发生得很好。 如果你不在画布上设置Background,它似乎不会关注你的鼠标事件。 尝试: <Grid> <Canvas Name="canvas" MouseMove="canvas_MouseMove" MouseLeftButtonUp="canvas_MouseLeftButtonUp" Background="White" /> </Grid> 通过不清除画布,而是在 mouseMove 方法中移动预览矩形解决了问题。 我的解决方案是完全放弃 MouseLeftButtonUp 处理程序,而是对 MouseMove 进行初始检查以查看按钮是否处于释放状态。如果是的话我将拖动设置为 false。 private void Canvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { isDragging = true; } private void Canvas_MouseMove(object sender, MouseEventArgs e) { if (e.LeftButton == MouseButtonState.Released) { isDragging = false; } }
如何使用 MVVM 在 WPF 中正确实现导航侧边栏菜单(+找出更改应用程序中视图的正确方法)?
如果有人可能觉得标题令人困惑,我想道歉,我在这里描述的问题比我想象的要复杂,我很难在标题中总结它。 基础...