Tag: wpf

在wpf中找不到“Resources”文件

我是WPF的新手。 我需要在资源文件resx上添加引用并从中获取字符串。 …. 我收到一个错误:名称“Resources”在命名空间“clr-namespace:SelectObjectsWindow.Properties”中不存在。 我正在搜索有关此信息,并找到几个建议:设置resx文件的“公共”访问修饰符。 在“嵌入式​​资源”上更改resx的Build Action属性。 所以,我做到了,但没有改变。 我检查了所有命名空间。 似乎没问题。 我不知道,还有什么我应该尝试的。 在.cs中我可以毫无错误地执行此操作 var res = Properties.Resources.Res1; 有人知道,有什么不对吗?

WPF RadioButton InverseBooleanConverter不工作

我有两个RadioButtons,我绑定到ViewModel中的布尔属性。 不幸的是我在转换器中收到错误,因为’targetType’参数为null。 现在我并不期望targetType参数通过为null(我期待True或False)。 但是我注意到RadioButton的IsChecked属性是一个可以为空的bool,所以这种解释。 我可以更正XAML中的某些内容,还是应该更改解决方案的现有转换器? 这是我的XAML: 这是我使用解决方案范围的InverseBooleanConverter的现有转换器: public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if ((targetType != typeof(bool)) && (targetType != typeof(object))) { throw new InvalidOperationException(“The target must be a boolean”); } return !(((value != null) && ((IConvertible)value).ToBoolean(provider))); }

ObservableCollection CollectionChanged对WPF MVVM没有帮助

我正在使用DataGrid并使用ViewModel中的ObservableCollection进行绑定 private ObservableCollection _stockList; public ObservableCollection StockList { get { return _stockList; } set { _stockList = value; OnPropertyChanged(“StockList”); } } StockItem类包含其属性,它是DataGrid中的列。 DataGrid中有一个名为Amount的列,其值已更改为同一数据网格的Quantity * Price Column。 我在ViewModel中有一个名为TotalAmount的属性,它在ObservableCollection CollectionChanged事件中计算得像 void OnStockListChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { this.TotalAmount = this.StockList.Sum(t => t.Amount); } 当使用某些数据将新行添加到DataGrid时,此值仅在TextBox绑定到TotalAmount时更新。 我希望在数据网格中的数量列更改后立即更新TotalAmount的TextBox。 我怎样才能做到这一点。 StockItem Class public class StockItem : ObservableObject, ISequencedObject { JIMSEntities dbContext = […]

绑定到ObservableCollection的列表框不会更新

我使用ObservableCollection来存储Windows的环境变量。 class VariableVieWModel { ObservableCollection vars; public ObservableCollection Variables { get { return vars; } set { vars = value; } } public VariableViewModel() { Reload(); } public void Reload() { // Code to retrieve vars } } 此ObservableCollection绑定到ListBox。 我在GUI中添加了一个按钮来重新加载变量,在点击时,它调用Reload()过程。 但是,ListBox内容不会更改,并且在调用Reload()时我无法再将项添加到列表中。 在构造函数下,一切正常。 ListBox XAML: 我尝试使用PropertyChanged作为UpdateSource触发器并设置大多数模式。 public void Reload() { vars = new ObservableCollection(); RegistryKey systemVarKey […]

C#GUI线程错误

我正在开发一个应该通过套接字接口接收命令然后在GUI中执行它们的应用程序。 此应用程序正在C#.NET 4.0中开发,它使用WPF作为其GUI。 套接字接口有一个工作线程,它继续监听套接字并处理其命令,因此,如果收到Show Popup命令,则工作线程调用一个管理器类,负责创建弹出窗口并在主屏幕上显示它。 创建弹出窗口然后调用主屏幕的管理器方法如下: public void ProcessPopup(PopupModel model) { switch (model.ScreenType) { case Screens.Type1: popup = new PopupType1(); break; case Screens.Type2: popup = new PopupType2(); break; case Screens.Type3: popup = new PopupType3(); break; case Screens.Type4: popup = new PopupType4(); break; } viewModel.SetModel(model); if (!Dispatcher.CurrentDispatcher.Equals(App.Current.Dispatcher)) { App.Current.Dispatcher.Invoke((ThreadStart)delegate { mainScreen.ShowPopup(popup); }); } else { mainScreen.ShowPopup(popup); […]

如何强制创建在资源中声明的对象

我在XAML中声明了一个对象(在我的UserControl.Resources部分中),如下所示: 我的对象的构造函数没有被调用。 如果我像这样放一个虚拟对象,我能够让它工作: 但这对我来说似乎是个黑客。 有更清洁的方法吗? 戳

如何在wpf应用程序中设置所有窗口的背景图像

我想在一个地方设置我的wpf应用程序的所有窗口中所有窗口和所有数据网格样式的背景图像 我的app.xaml文件中有以下代码 <!—-> DataGrid的样式在设计器中根据需要应用,当我开始调试时,背景图像根据需要出现在visual studio的设计器中,但是当我在调试模式下启动应用程序时,它不会显示在任何窗口中。 当我在’mainwindow.xaml’文件中添加以下行时,背景图像会根据需要显示 我的项目中有一个图标文件夹,其背景图像的名称为clinic.jpg

如何从XAML中的文本框中获取值?

我正试图从文本框中获取价值来更新我的数据库。 这是我的XAML代码: 现在我想从名为“Amount”的文本框中获取值,因此我可以像这样更新我的数据库: public ICommand UpdateAccount { get { return new RelayCommand(UpdateAccount1); } } public void UpdateAccount1(string name) { Console.WriteLine(name); Account.UpdateAccount(SelectedAcc, *AMOUNT HERE*); } 然后我将它传递到我的数据库中,如下所示: public static void UpdateAccount(Account a, int Amount) { string sql = “UPDATE Accounts SET Saldo=Saldo-@Amount WHERE ID=@ID”; DbParameter par1 = Database.AddParameter(“@Amount”, Amount); DbParameter par2 = Database.AddParameter(“@ID”, a.ID); Database.ModifyData(sql, par1, par2); […]

WPF滑块和日期

我想制作滑块来选择日期。 例如,过去两天每小时一次。 滑块底部还应有一个带有值的图例。 我怎么能这样做? 我从日期的总小时数创建了带有数据上下文的滑块作为DoubleCollection,并使用自定义ValueConverter更改了工具提示。 但是,当我更改值时,工具提示会显示实际值 – 日期总小时数。 另外我不知道如何添加图例。

使用RelativeSource和AncestorType进行WPF数据绑定

我试图让一些绑定代码工作。 基本上我想将网格上下文菜单元素的IsEnabled属性与网格中选定行的值绑定。 我有这个工作: 但是我想这样做而且它不起作用。 它没有错误,但只是不禁用菜单项。 知道为什么吗?