wpf 相关问题

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

单击电子邮件中的链接时启动 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

后台线程上的延迟 WriteableBitmap 写入会导致闪烁

我正在开发一个自定义 WPF 框架元素,该元素写入 WriteableBitmap,然后在元素 OnRender() 中显示位图。 由于写入 WriteableBitmap 可能会有点慢(...

回答 1 投票 0

如何传播 WPF 数据绑定期间发生的错误和异常?

我经常发现我不小心破坏了应用程序中的数据绑定。通过重命名属性而不是在 XAML 中重命名它,或者通过属性抛出某些异常......

回答 4 投票 0

在 DataGrid 列中显示图像

我正在尝试在 DataGrid 列中的其他数据旁边显示图像。 我的模型看起来像这样: 公开课人物 { 公共字符串名称{获取;放; } 公共字符串地址{获取;放; ...

回答 6 投票 0

通过 ListView WPF 进行迭代

从 Windows 窗体到 WPF 是一个挑战,这是我的第一个 WPF 项目,所以如果我遗漏了一些明显的东西,请原谅我...... 我正在逐行向 ListView 添加项目,然后想要

回答 1 投票 0

WPF - 访问命令的 TreeViewItem 的根 UserControl DataContext

我正在尝试执行绑定到子 TreeViewItem 的根父 UserControl 的 ViewModel 中存在的命令。这是来自绑定到根 TreeViewItems 的 ContextMenu。 TreeView 代码...

回答 1 投票 0

C# gif medialement如何改变位置

我只是想更改 gif 在 MediaElement 中的位置,所以当我不用鼠标悬停它时,它应该显示 GIF 的某个图像(所选位置),当我移动 c.. .

回答 3 投票 0

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