xaml 相关问题

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

绑定到元素项计数

我希望获得基于数据网格的选定项目计数的可见性。不过,这在winui中似乎不起作用,但在WPF中却工作得很好? 转换器: 公共对象转换(对象值,类型

回答 1 投票 0

为什么 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; } }

回答 3 投票 0

如何使用 MVVM 在 WPF 中正确实现导航侧边栏菜单(+找出更改应用程序中视图的正确方法)?

如果有人可能觉得标题令人困惑,我想道歉,我在这里描述的问题比我想象的要复杂,我很难在标题中总结它。 基础...

回答 1 投票 0

如何关闭 ViewModel 中的 49.maui.BottomSheet?

所以我做了一些搜索,尝试询问 ChatGPT,并尝试了几种不同的方法,但我一生都无法让底部的工作表消失。 我有一个名为 CategoryItemPage 的页面 ...

回答 1 投票 0

我有一个 C# WinUI 3 桌面应用程序 (VS 2019) - 在数据网格单元格中右对齐文本

使用数据网格。 我想右对齐某些列。 我下面的方法试过了,不行。 有谁知道正确的方法吗? 多谢。 使用数据网格。 我想右对齐某些列。 我下面的方法试过了,不行。 有谁知道正确的方法吗? 非常感谢。 <Grid Grid.Row="2" HorizontalAlignment="Center"> <controls:DataGrid x:Name="Results_DataGrid" AutoGenerateColumns="False" CanUserSortColumns="False" AreRowDetailsFrozen="True" BorderBrush="#005986" BorderThickness="2 2 2 2" Margin="3 10 3 5" PointerReleased="Results_DataGrid_PointerReleased"> <controls:DataGrid.Columns> <controls:DataGridTextColumn Header="Jan" Width="SizeToHeader" Binding="{Binding Jan}" FontSize="11" Foreground="Black" > **<controls:DataGridTextColumn.ElementStyle> <Style TargetType="controls:DataGridCell"> <Setter Property="HorizontalAlignment" Value="Right"/> </Style> </controls:DataGridTextColumn.ElementStyle>** </controls:DataGridTextColumn> </controls:DataGrid.Columns> </controls:DataGrid> ElementStyle 中的 DataGridTextColumn 目标为 TextBlock。 <controls:DataGridTextColumn.ElementStyle> <Style TargetType="TextBlock"> <Setter Property="HorizontalTextAlignment" Value="Right" /> </Style> </controls:DataGridTextColumn.ElementStyle> 我也可以使用 CellStyle 来实现此目的。 <controls:DataGridTextColumn.CellStyle> <Style TargetType="controls:DataGridCell"> <Setter Property="HorizontalContentAlignment" Value="Right" /> </Style> </controls:DataGridTextColumn.CellStyle>

回答 1 投票 0

WinUI 3 DataGrid 列与 x:Bind

是否有 MVVM 方式(使用 ViewModel)在 XAML 中为 DataGrid 列(DataGridTextColumn 等)使用 x:bind? 我见过的所有代码都使用 Binding 而不是 x:Bind。

回答 1 投票 0

无法更改DataGrid Winui3中DataGridColumnHeader的背景颜色

我正在创建一个 WinUI3 项目并使用 Datagrid CommunityToolkit.WinUI.UI.Controls.DataGrid 我无法使用 Setter 更改 DataGridColumnHeader,而 Foreground 更改得很好。我的

回答 1 投票 0

UWP 控件和元素中是否有所有继承的可视化?

是否有某种图形(可能是树或其他东西)可以显示 UWP 中所有控件和元素的所有继承?就像以 object 为根开始,然后延伸到

回答 2 投票 0

如何将事件处理程序附加到 DataGrid 组合框选择已更改

使用社区工具包中的 DataGrid。如何绑定事件处理程序来侦听 DataGridComboBoxColumn 中的更改?

回答 1 投票 0

WPF中不指定控件名称...性能影响

如果需要从后台代码访问 WPF 控件,则需要在 XAML 中为其提供 Name 属性。 在许多情况下,您不需要从后面的代码访问控件,因为很多 c...

回答 2 投票 0

在WPF中调整列表视图高度到网格

我有一个网格,在这个网格内部,有一个边框。边框内有一个ListView。我的问题是 ListView 不会根据边框的高度激活垂直滚动。我...

回答 1 投票 0

使用其名称从基于它的样式访问样式 ControlTemplate 中的元素

我有一个按钮的样式,比如 ButtonStyle,里面有 VisualStates、属性和触发器。我有另一种基于 ButtonStyle 的样式。我需要访问一个名为“OnhoverGrid”的元素...

回答 1 投票 0

使内容对话框像 Groove 应用程序中的对话框一样可移动

我创建了一个 ContentDialog 来应用样式(我无法将其应用于消息对话框和弹出窗口),但我遇到了问题,它不可移动,或者我无法像框架那样关闭它出现

回答 4 投票 0

在 .NET 8 的 WinUI 3 项目中找不到命名空间“CommunityToolkit.WinUI.Controls”

在此输入图像描述 我正在使用 WinUI 3 和 .NET Core 8 开发一个应用程序,并安装了 CommunityToolkit.WinUI.Controls,但在尝试使用“设置”时遇到错误...

回答 1 投票 0

DataGrid 列宽不会自动更新

当 Change 的值更新时,其列不会更新为 fi...

回答 6 投票 0

如何在 WPF 中的鼠标悬停时显示悬停信息气泡?

我想让鼠标悬停在 TextBlock 上时出现文本气泡。 以下代码是我能得到的最接近的代码,但它只是将文本注入 TextBox.Text 本身并更改颜色。我想要...

回答 2 投票 0

Maui FlexLayout 需要很大的高度

我正在尝试添加它们在一行中对齐的项目,但是当它们达到最大宽度时,它们会换行。 我用 FlexLayout 和“Wrap”属性来做到这一点,这很好,但我

回答 1 投票 0

当系统主题为黑色时,毛伊岛中没有背景的元素的主题无法正确更改

更改操作系统主题时,应用程序通常不会显示所有条目。我尝试更改条目的背景,但随后框架在 iOS 上不可见,如果是 emp...

回答 3 投票 0

ItemsWrapGrid 不适用于自定义 UserControl x:bind 未绑定控件属性

在 WinUI3 项目中,下面的 XAML GridView 代码工作得很好。 UserHomeView 中的 UI 被生成,所有依赖于 UserHomeViewModel 的属性和进程都被触发并

回答 1 投票 0

x:绑定自定义控件属性时,Bind 在 DataTemplate 内不起作用

在 WinUI3 项目中,下面的 XAML ListView 代码工作得非常好,生成 UserHomeView 中的 UI,并且触发依赖于 UserHomeViewModel 的所有属性和进程,并且

回答 1 投票 0

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