wpf 相关问题

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

为什么automapper在使用IValueResolver时会抛出stackoverflow异常?

我是否错误地使用了 IValueResolver? 实际上在 context.Mapper.Map 调用之前应该有一些实例重用逻辑,我想做的是使用

回答 1 投票 0

WPF。如何使用同一行包装两个 ItemsControl?

抽象,我有两个(主要)ItemsControl 以包装方式绘制其内容。 我使用 WrapPanel 等。 到目前为止效果很好。另外,如果窗口大小在运行时发生变化。 但我...

回答 0 投票 0

如何查找用户是否在我的 wpf 应用程序中按下了 ctrl + '+' 键

我正在创建这个绘画应用程序,我想知道用户是否同时按下了 ctrl+'+' 以便我可以增加笔的宽度。(我仍在学习)但对我来说没有任何作用。我

回答 1 投票 0

webview2如何在隐私模式下运行

我有一个同时运行多个实例的 WPF 应用程序 应用程序中的一个控件是 webview2。我认为多个实例之间的webview2以私有模式运行不会影响

回答 2 投票 0

在 WPF 中关闭窗口

我想在单击将我发送到另一个窗口的按钮后关闭 WPF 中的一个窗口。 我尝试使用 win3.Close();但它不起作用。 这是参考第二次风的主窗口...

回答 4 投票 0

Wpf 问题:带有样式的文本框不会在文本框中获取值。 (它总是空字符串)

我是wpf编程新手。当我点击按钮时。它应该向我显示文本框中的消息。但是,它仅显示一个空字符串。我的文本框使用名为“

回答 1 投票 0

使用WPF时如何将Checked属性状态保存到Properties.Settings?

我正在将程序从 WinForms 转换为 WPF。似乎有很多不必要的语法更改。但我遇到的问题是将“已选中”或“未选中”状态保存到“属性”。

回答 4 投票 0

如何防止 Excel 在使用 SetParent 嵌入时失去焦点?

我正在尝试将 Excel 嵌入到 WPF 应用程序中。 我已经拥有了工作所需的所有内容,除了现在我试图允许 .xlsm 文件。当单击 ActiveX 控件时,看起来就像...

回答 1 投票 0

Visual Studio 2022 解决方案中没有 WPF 设计器,也没有项目

我开始通过 Udemy 上的课程学习 WPF,当我打开一个新的“WPF 应用程序”模板时,只有 MainWindow.xaml 和 MainWindow.xaml.cs 文件,但没有设计器,也没有

回答 3 投票 0

如何将Mailkit发送的邮件保存在服务器上?

我正在使用 MailKit 库制作一个简单的 WPF 应用程序来发送自动电子邮件。 我雇用了使用 Cpanel 来通过 Roundcube 创建电子邮件的托管,我在其中使用信息进行连接、登录...

回答 1 投票 0

WPF TabControl 加载多个选项卡,但所有选项卡中的内容相同

<TabControl Name="tabSections" SelectionChanged="TabControl_SelectionChanged"> <TabControl.ItemTemplate> <DataTemplate DataType="{x:Type local2:TestType}"> <StackPanel> <TextBlock Text="{Binding Name}"/> </StackPanel> </DataTemplate> </TabControl.ItemTemplate> <TabControl.ContentTemplate> <DataTemplate DataType="{x:Type local2:TestType}"> <StackPanel> <local:MyUserControl x:Name="uc1" ItemSource="{Binding}" Loaded="UcLoaded"> </local:MyUserControl> </StackPanel> </DataTemplate> </TabControl.ContentTemplate> </TabControl> 这里 MyUserControl 包含一个数据网格,它填充 TestType 的某些属性中的项目。 MyUserControl 的 ItemSource 是一个依赖属性,它保存 entore testtype 对象。 在后面的代码中,我将一个列表添加到 tabcontrol 的 ItemSource, tabSections.ItemsSource = TestTypeList;//TestTypeList是List 这样,我得到 2 个选项卡头(因为列表包含 2 个项目), 但两个选项卡都包含相同的内容(第一个内容),没有值变化。 如果我将用户控件带到 itemtemplate 而不是内容模板,则两个选项卡都会正确显示。但 UI 看起来不太好,因为表格(来自用户控件)进入了选项卡头部。 TestTypeList 中的项目数量是动态的,因此无法与 TabItem 一起使用。 请指出我哪里做错了。 我想提出一个简单的解决方案。 <TabControl ItemsSource="{Binding Items}"> <TabControl.Resources> <DataTemplate DataType="{x:Type local:AccountViewModel}"> <local:AccountUserControl/> </DataTemplate> <DataTemplate DataType="{x:Type local:AddressViewModel}"> <local:AddressUserControl/> </DataTemplate> </TabControl.Resources> <TabControl.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Label}"/> </DataTemplate> </TabControl.ItemTemplate> <TabControl.ContentTemplate> <DataTemplate> <ContentControl Content="{Binding }"/> </DataTemplate> </TabControl.ContentTemplate> </TabControl> MainViewModel 是 public class MainViewModel: ViewModelBase { List<ItemViewModel> _items = new List<ItemViewModel>(); public List<ItemViewModel> Items { get { return _items; } set { _items = value; OnPropertyChanged(nameof(Items)); } } public MainViewModel() { Items= [new AddressViewModel(),new AccountViewModel()]; } } ItemViewModel 是: public class ItemViewModel : ViewModelBase { string _label = ""; public string Label { get { return _label; } set { _label = value; OnPropertyChanged(nameof(Label)); } } } AccountViewModel 是: public class AccountViewModel : ItemViewModel { string _AccountNumber = ""; public string AccountNumber { get { return _AccountNumber; } set { _AccountNumber = value; OnPropertyChanged(nameof(AccountNumber)); } } string _bank = ""; public string Bank { get { return _bank; } set { _bank = value; OnPropertyChanged(nameof(Bank)); } } public AccountViewModel() { Label = "Account"; Bank = "People Bank"; AccountNumber = "791800"; } } AddressViewModel 是: public class AddressViewModel : ItemViewModel { string _address = ""; public string Address { get { return _address; } set { _address = value;OnPropertyChanged(nameof(Address)); } } string _city = ""; public string City { get { return _city; } set { _city = value; OnPropertyChanged(nameof(City)); } } public AddressViewModel() { Label = "Address"; Address = "1349 BellField Way"; City = "Belleview"; } } AccountUserControl 是: <Grid> <StackPanel Orientation="Vertical"> <TextBlock Text="{Binding AccountNumber}"/> <TextBlock Text="{Binding Bank}"/> </StackPanel> </Grid> AddressUserControl 是: <Grid> <StackPanel Orientation="Vertical"> <TextBlock Text="{Binding City}"/> <TextBlock Text="{Binding Address}"/> </StackPanel> </Grid>

回答 1 投票 0

C# WPF Combobox 有两列,如何获取所选项目?

我有一个组合框: 我有一个组合框: <ComboBox x:Name="cmbOrganization_Config_AddSalGrp" FontSize="20" Margin="5 0 5 5" SelectedItem="{Binding OrgID}"> <ComboBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding Organization_Name}" Margin="0 0 20 0" Visibility="Visible"/> <TextBlock Text="{Binding OrgID}" Visibility="Visible"/> </StackPanel> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox> 我有这个隐藏代码: try { // Let the SqlCommand object know which stored procedure to execute SqlCommand cmd = new SqlCommand("tuc_salary_grouping_add", con); //Specify that it is a stored procedure and not a normal proc cmd.CommandType = System.Data.CommandType.StoredProcedure; // cmd.Parameters.AddWithValue("@SalaryGroupingName", this.SalaryGroupingConfig_add.Text); cmd.Parameters.AddWithValue("@Organization_ID", this.cmbOrganization_Config_AddSalGrp.SelectedItem); cmd.Parameters.AddWithValue("@Organization_ID", this.cmbOrganization_Config_AddSalGrp.Text); cmd.Parameters.AddWithValue("@Organization_ID", (this.cmbOrganization_Config_AddSalGrp.SelectedItem as ComboBoxItem).Content.ToString()); cmd.Parameters.AddWithValue("@Notes", string.Empty); // Open the connection and execute the stored procedure con.Open(); int rowsAffected = cmd.ExecuteNonQuery(); Debug.WriteLine($"SQL> New record insert was successfully - [{rowsAffected}]"); return true; } 用户选择该项目后,我需要从组合框中获取“OrgID”。 我尝试了3种不同的方法,但都不起作用。我的代码不是 MVVM 形式。 OrgID 是一个整数。我感谢你的帮助。 您可以使用 SelectionChanged 事件来检索所选项目。就像下面的例子: public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { var Items = new List<ItemsOrga> { new ItemsOrga("Id1", "Orga1"), new ItemsOrga("Id2", "Orga2"), new ItemsOrga("Id3", "Orga3") }; cmbOrganization_Config_AddSalGrp.ItemsSource = Items; } private void cmbOrganization_Config_AddSalGrp_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count > 0) { var SelectedItem = e.AddedItems[0] as ItemsOrga; Debug.WriteLine(SelectedItem.OrgID); } } } public class ItemsOrga { public string Organization_Name { get; set; } public string OrgID { get; set; } public ItemsOrga(string OrgID, string Organization_Name) { this.OrgID = OrgID; this.Organization_Name = Organization_Name; } }

回答 1 投票 0

使用RelativeSource绑定到ViewModel不起作用

我有一个应用程序,它有一个导航菜单,可以使用命令从一个页面转到另一个页面。 导航菜单已在 Xaml 中创建,我将其存储在 Navigation.xaml 中,请参见下文 <

回答 3 投票 0

另一个类中的 WPF 事件处理程序

我为一些自定义 WPF 控件构建了一系列事件处理程序。该事件处理用户根据包含的数据类型输入或离开文本框时显示的文本格式(电话

回答 3 投票 0

如何以编程方式调整 DrawingVisual 的大小?

所以,我是 WPF 绘图新手。出于性能原因,我不得不从 ContentControl 和 UserControl 等常规控件切换到 DrawingVisual 等更轻量级的元素。我正在开发一个

回答 1 投票 0

如何让DataGridTextColumn填满所有剩余空间

我读过很多关于类似问题的帖子,但不知道如何摆脱右侧的额外空间。中间一列(应该是最右边的一列,带有“240”和...

回答 1 投票 0

WPF 装饰器鼠标悬停

我创建了一个装饰器,将其应用于文本框,这是为了我们定制的拼写检查。 每当有未知单词时,装饰器都会使用 Drawingcont 添加下划线...

回答 1 投票 0

如何使用参数在 ReactiveUI 中打开新窗口

我正在寻找使用尊重 MVVM ReactiveUi 原则的参数打开新窗口的最佳方法。现在我正在使用 Splat 的服务位置来打开新窗口。 假设我想打开新窗口...

回答 2 投票 0

WPF:如何向文本块添加复选标记?

我想知道是否有人知道复选标记符号的标签。我需要将它放在 texblock 中。我在网上寻找任何线索,但没有找到任何可以与 XAML 一起使用的东西。 预先感谢您。

回答 4 投票 0

更改 WPF DataGrid 左上角标题的背景颜色

我正在开发 Visual Studio 扩展,并尝试对 WPF DataGrid 进行主题化以匹配 Visual Studio 浅色或深色主题。除了左上角之外,我已经设法让一切正常工作......

回答 2 投票 0

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