wpf 相关问题

Windows Presentation Foundation或WPF是用于在基于Windows的应用程序中呈现用户界面的子系统。

学习 WPF 和 MVVM - 从头开始学习的最佳方法[已关闭]

我有大约三年的 c# 经验。我想学习一些 WPF 和 MVVM 模式。 该网站上有很多文章的链接,但我有点不知所措。 明智的

回答 8 投票 0

C# - WPF - DataGrid - 在列之间共享绑定

我将此类的实例绑定到 DataGrid 公开课 SomeClass { 公共 int m_width { 得到;放; } 公共 int m_height { 得到;放; } ... 公共字符串[] m_content { 获取;放; ...

回答 1 投票 0

Wpf 更改数据触发器中删除线的颜色

我有两个删除线数据触发器,其中之一我想设为黑色(默认),但其中之一应该是删除线红色,有人可以帮我设置红色吗,这是我的代码: <

回答 1 投票 0

C# - WPF - 显示字符串列表

当我在xaml WPF中搜索foreach的等效项时,我得到了ItemControl教程,但它只是关于演示 它没有解决它的迭代部分 我该如何在 WPF 中执行此操作??? 当我在 xaml WPF 中搜索 foreach 的等效项时,我得到了 ItemControl 教程,但它只是关于演示文稿 它没有解决它的迭代部分 如何在 WPF 中执行此操作??? <TextBox Text ={Binding someArray[0]}/> <TextBox Text ={Binding someArray[1]}/> <TextBox Text ={Binding someArray[2]}/> <TextBox Text ={Binding someArray[3]}/> ... 但动态,作为一个循环,在模板内部,没有代码隐藏 不敢相信没有教程可以完成如此简单的用例 感谢您对此的帮助 我找到了这样的解决方案 <ItemsControl ItemsSource="{Binding someArray}"> <ItemsControl.ItemTemplate> <DataTemplate> <StackPanel> <TextBlock Text="{Binding .}"></TextBlock> </StackPanel> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl>

回答 1 投票 0

wpf中区分鼠标双击和鼠标单击

在我的WPF应用程序中,我使用ListView GridView,并且实现了与鼠标双击相关的功能。 有没有办法,或者一个控件来区分鼠标双击...

回答 2 投票 0

为什么我的自定义ListViewItem没有正确更新?

我创建了两个继承自ListView和ListViewItem的自定义类。我创建这些类是因为我希望我的 ListView 具有正常的选择功能,但也希望它具有

回答 1 投票 0

单击电子邮件中的链接时启动 WPF 应用程序

我正在开展一项活动来鼓励用户使用我的 WPF 应用程序。此活动将向该应用程序的注册用户发送一封带有链接的电子邮件。当用户单击该链接时,WPF 应用程序应该启动,如果...

wpf
回答 1 投票 0

使用 C# 的 bitbucket 管道失败

所以我想让托管在 bitbucket 上的 c# 成功运行管道。在我的本地 Windows 机器上,发布和调试构建一切正常。 yml fi 的第一个版本...

回答 2 投票 0

WPF MVVM ComboBox SelectedItem 返回上一个项目

我有一个 MVVM 绑定的 ComboBox 我有一个 MVVM 绑定的 ComboBox <ComboBox x:Name="CBRootPathComboBox" ItemsSource="{Binding RootPathComboBoxItems, Mode=OneTime}" DisplayMemberPath="DisplayName" SelectedItem="{Binding SelectedRootPathComboBoxItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"> <i:Interaction.Triggers> <i:EventTrigger EventName="SelectionChanged"> <i:InvokeCommandAction Command="{Binding RootPathComboBoxItemSelectionChangedCommand}" CommandParameter="{Binding ElementName=CBRootPathComboBox, Path=SelectedItem}" /> </i:EventTrigger> </i:Interaction.Triggers> </ComboBox> Interaction 来自 Microsoft.Xaml.Behaviors.Wpf nuget。 在 SelectionChanged 上,我期望看到 ICommand 以及列表中当前选定的项目。 在 ViewModel 中,我在代码中的某个位置设置了 SelectedItem。 我使用 ViewModel 属性在 ViewModel 中将其从“Item2”设置为“Item1”。 调用链如下: 1. set the property to "Item1" 2. Raise INotifyPropertyChanged.PropertyChanged event 3. .Net internals calls property getter, it returns "Item1" 4. ICommand call contains "Item2" in parameter. Expected: "Item1" ViewModel 属性: private RootPathItem _selectedRootPathComboBoxItem; public RootPathItem SelectedRootPathComboBoxItem { get { Debug.WriteLine($"getting {_selectedRootPathComboBoxItem?.DisplayName ?? "null"}"); return _selectedRootPathComboBoxItem; } set { Debug.WriteLine($"setting {value?.DisplayName ?? "null"}"); if (_selectedRootPathComboBoxItem != value) { Debug.WriteLine($"overwriting {_selectedRootPathComboBoxItem?.DisplayName ?? "null"}"); _selectedRootPathComboBoxItem = value; this.OnPropertyChanged(); } } } XAML:https://github.com/DJDoena/FolderSize/blob/bc0f316a321a5a1a752c4dd12484e2d8684b3700/View/MainWindow.xaml ViewModel:https://github.com/DJDoena/FolderSize/blob/bc0f316a321a5a1a752c4dd12484e2d8684b3700/ViewModel/MainViewModel.cs 几种解决方案。 无需使用事件。在虚拟机中实现所需的逻辑。对于您的代码来说,最简单的形式将是这样的: private RootPathItem _selectedRootPathComboBoxItem; public RootPathItem SelectedRootPathComboBoxItem { get { Debug.WriteLine($"getting {_selectedRootPathComboBoxItem?.DisplayName ?? "null"}"); return _selectedRootPathComboBoxItem; } set { Debug.WriteLine($"setting {value?.DisplayName ?? "null"}"); if (_selectedRootPathComboBoxItem != value) { Debug.WriteLine($"overwriting {_selectedRootPathComboBoxItem?.DisplayName ?? "null"}"); _selectedRootPathComboBoxItem = value; this.OnPropertyChanged(); RootPathComboBoxItemSelectionChangedExecute(value); } } } 从事件参数中检索新选定的元素: <ComboBox x:Name="CBRootPathComboBox" ItemsSource="{Binding RootPathComboBoxItems, Mode=OneTime}" DisplayMemberPath="DisplayName" SelectedItem="{Binding SelectedRootPathComboBoxItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"> <i:Interaction.Triggers> <i:EventTrigger EventName="SelectionChanged"> <i:InvokeCommandAction Command="{Binding RootPathComboBoxItemSelectionChangedCommand}" EventArgsParameterPath="AddedItems[0]" /> </i:EventTrigger> </i:Interaction.Triggers> </ComboBox> 您可以使用 BeginInvoke 从事件异步调用命令,但为此您必须使用 i:Interaction.Behaviors 而不是 i:Interaction.Triggers。代码中稍微复杂一些的是 InvokeCommandAction 与 Behavior。

回答 1 投票 0

数据模板和泛型

我读过近千篇文章,解释在 DataTemplate 上将封闭泛型类型设置为 DataType 不起作用,因为 WPF 不支持这一点。但事实上,这只是

回答 1 投票 0

0x88980406 SyncFlush() ...有解决方法吗?

我在我的应用程序中遇到此异常。 我在网上找到了讨论它的链接,但没有任何指示如何追踪它和/或解决它。 请不要回复来自实习生的链接...

回答 3 投票 0

如何使用c#从wpf表单中仅选择下拉列表中的特定字段?

我有一个条件,检查隔间(卡车空)和目的(“离开成品”)这些是我唯一必填的字段,选择时必须与顶部密封和底部一起...

回答 1 投票 0

AvalonEdit 如何创建缩进引导线?

如何在 AvalonEdit 中创建缩进引导线,就像在 Visual Studio 中一样?

回答 1 投票 0

WPF-Window Topmost 仅适用于自己的应用程序?

我的 WPF 应用程序中的启动屏幕/加载窗口设置为 Topmost="True"。现在,即使您切换到另一个应用程序,此窗口也会位于所有其他窗口之上(因为加载将花费...

回答 3 投票 0

WPF Datagrid - 单击 DataGrid 中的空白时取消选择所选项目

默认行为是使用 CTRL+单击取消选择数据网格中的项目 我希望能够用鼠标单击(左键或右键)网格中的空白并让它取消选择任何选定的项目...

回答 6 投票 0

如何在WPF应用程序中实现气球消息

我们希望使用 Microsoft UX 指南中描述的气球消息。我发现一些示例使用 Windows 窗体中的本机代码,但本机代码需要组合的句柄...

回答 5 投票 0

DataTemplate 中具有多个项目的单选按钮组

我制作了一个数据模板,它将自动生成一些问题(从我的数据视图加载)。每个问题都有四个单选按钮,我将所有四个按钮分组到 GroupName 上。 我的问题是 - 如果我有 2...

回答 2 投票 0

WPF 上下文菜单设计。如何在WPF MenuItem中设置背景?

我创建这样的弹出菜单。 我创建这样的弹出菜单。 <DockPanel.ContextMenu> <ContextMenu Background="#CD252220" Opacity="0.95" Foreground="LightGray" BorderBrush="DarkGray"> <MenuItem Header="_Save Image..." x:Name="btSave" IsEnabled="False" Click="btSave_Click" Style="{StaticResource MyStyle}"> <MenuItem.Icon> <Image Source="icons/save.png" Width="16" Height="16" Style="{StaticResource IconStyle}"/> </MenuItem.Icon> </MenuItem> </ContextMenu> </DockPanel.ContextMenu> 为什么这个菜单的左侧是白色的??????它将是#CD252220颜色或透明,发髻不是白色!!!!!! 如何修复它? :) http://itrash.ru/idb/40e872e71346dcf9bd58ba8aec0b2a17/omenu.png.html - 菜单截图 附注XP下没问题。菜单是白色仅在Vista上(没有W7) 我找到解决方案了!您只需在样式定义部分设置属性 OverridesDefaultStyle ;) <Style x:Key="{x:Type ContextMenu}" TargetType="{x:Type ContextMenu}"> <Setter Property="OverridesDefaultStyle" Value="True"/> <Setter Property="SnapsToDevicePixels" Value="True"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ContextMenu}"> <Border Background="#CD222120" CornerRadius="7, 7, 8, 8" BorderBrush="DarkGray" BorderThickness="2" Opacity="0.96"> <StackPanel ClipToBounds="True" Orientation="Vertical" IsItemsHost="True" Margin="5,4,5,4"/> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> <ControlTemplate x:Key="{x:Static MenuItem.TopLevelItemTemplateKey}" TargetType="{x:Type MenuItem}"> <Border Name="Border" > <Grid> <ContentPresenter Margin="6,3,6,3" ContentSource="Header" RecognizesAccessKey="True" /> </Grid> </Border> </ControlTemplate> 如果您要为上下文菜单声明自定义样式,这样所有操作系统都将相同。

回答 2 投票 0

如何让viewbox保持其大小?

在 wpf 应用程序中,我有一个带有网格“ContentGrid”的用户控件,它可以变得比用户控件更大,然后 ContentGrid 的所有父控件的大小都调整得太大。 我不明白...

回答 1 投票 0

如何在 MVVM 中处理 ComboBox SelectionChanged?

对于那些使用纯 MVVM 的人来说,如何处理 ComboBox SelectionChanged 事件而不恢复到代码隐藏? 我尝试过例如不支持 AttachedBehaviors 但 Event="SelectedChanged": <

回答 4 投票 0

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