WPF Datagrid对具有null元素的列进行排序

我有一个WPF Datagrid,我正在使用多个列。 其中一列有一些有时为null的元素,当我尝试对此列进行排序时会导致exception。 列的定义类似于: 如果我对Field1列进行排序就可以了,如果我对Field2列进行排序并且没有空的Field2对象就可以了,但有时会有并且DataGrid尝试对SubField进行排序(我猜)并且遇到一个空exception: System.InvalidOperationException was unhandled Message=The SortDescriptions added are not valid. The probable solutions are to set the CanUserSort on the Column to false, or to use SortMemberPath property on the Column, or to handle the Sorting event on DataGrid. 我已经尝试将SortMemberPath设置为“MyObject.Field2.SubField”,但当然这并没有解决它,因为Field2有时仍然为null。 我想知道尝试使用转换器,我设置SortMemberPath并让转换器返回string.empty为任何null元素,但无法使其工作。 我也尝试在这些列的绑定中添加“TargetNullValue = {x:Static sys:String.Empty}”,但它仍然无效。 任何意见/建议将非常感谢。 谢谢,威尔

EF4 Code First:如何仅更新特定字段

如何仅更新实体上的某些字段? 我有一个像这样的用户实体: public class User { public string UserId { get; set; } public string PasswordHash { get; set; } public bool IsDisabled { get; set; } public DateTime AccessExpiryDate { get; set; } public bool MustChangePassword { get; set; } public DateTime DateCreated { get; set; } public DateTime LastActivity { get; set; } […]

将此json字符串解析为字符串数组c#

感觉就像我想要做的那样有一个两行的解决方案:解析这样的字符串: “{\”postalcode\”:\”12345\”,\”postalcity\”:\”SOME-CITY\”,\”country\”:\”UK\”,\”box\”:false}” 进入这样的事情: string[] result = { “12345”, “SOME-CITY”, “UK”, “false” }; 这是最简单的方法吗?

RoutedUICommand PreviewExecuted Bug?

我正在使用MVVM设计模式构建应用程序,我想使用ApplicationCommands类中定义的RoutedUICommands。 由于View的CommandBindings属性(读取UserControl)不是DependencyProperty,因此我们无法将ViewModel中定义的CommandBindings直接绑定到View。 我通过定义一个抽象的View类来解决这个问题,该类基于ViewModel接口以编程方式绑定它,该接口确保每个ViewModel都有一个ObBableCollection的CommandBindings。 这一切都很好,但是,在某些情况下我想执行在不同类(View和ViewModel)相同命令中定义的逻辑。 例如,保存文档时。 在ViewModel中,代码将文档保存到磁盘: private void InitializeCommands() { CommandBindings = new CommandBindingCollection(); ExecutedRoutedEventHandler executeSave = (sender, e) => { document.Save(path); IsModified = false; }; CanExecuteRoutedEventHandler canSave = (sender, e) => { e.CanExecute = IsModified; }; CommandBinding save = new CommandBinding(ApplicationCommands.Save, executeSave, canSave); CommandBindings.Add(save); } 乍一看,前面的代码是我想要做的,但是文档绑定到的View中的TextBox只在它失去焦点时才更新它的Source。 但是,我可以通过按Ctrl + S保存文档而不会失去焦点。 这意味着文档在源中更新的更改之前保存,实际上忽略了更改。 但是,由于性能原因将UpdateSourceTrigger更改为PropertyChanged不是一个可行的选项,因此在保存之前必须强制更新。 所以我想,让我们使用PreviewExecuted事件强制更新PreviewExecuted事件,如下所示: //Find the […]

是否有一个流行的C#库用于工作HTTP? 例如,简化使用httpwebrequest等

是否有一个流行的C#库用于工作HTTP? 例如,简化使用httpwebrequest等 例如,使用某些参数执行http文件上传需要许多行和Http协议内容格式等知识.WebClient本身不会这样做。 所以,新的,有一个知名的库,c#开发人员在这里使用? 谢谢

WPF:两个DataGrids,相同的ItemsSource,一个IsReadOnly,Bug?

我有一个WPF应用程序,它有两个共享相同ItemsSource的DataGrids。 当我将DataGrid的一个IsReadOnly属性设置为true时,我将无法将记录添加到其他DataGrid。 我仍然可以编辑第二个数据网格的内容,但只是无法添加记录。 这是有意的吗? 有没有办法解决这个问题? 我可以对DataGrid使用IsEnabled =“False”,但我失去了滚动它的能力。 这是设置: XAML: C#: public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); List persons = new List(); persons.Add(new Person() { FirstName = “Bob”, LastName = “Johnson” }); persons.Add(new Person() { FirstName = “John”, LastName = “Smith” }); dgA.ItemsSource = persons; dgB.ItemsSource = persons; } class Person […]

如何使用Ghostscript将PDF转换为图像

我发现Ghostscript能够将PDF转换为图像格式。 我尝试使用PDF到图像转换器,但无法清楚地理解它。 我已经安装了gs905w64.exe ,但当我尝试add reference对我的Web应用程序的add reference ,我收到此错误。 A reference to gsdll32.dll could not be added. No type libraries were found in the component.

Asp联系页面在本地工作,但不在服务器上

我在网上找到了asp网站和asp联系表格。 它在本地机器上运行完美。 我将它添加到我的服务器以进行实时测试,但它无法正常工作。 我收到显示错误的显示消息,它说: System.Security.SecurityException:对类型’System.Net.Mail.SmtpPermission,System,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089’的权限的请求失败。 System.Security.CodeAccessSecurityEngine.Check(Object demand,StackCrawlMark&stackMark,Boolean isPermSet)在System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap,StackCrawlMark和stackMark)的System.Security.CodeAccessPermission.Demand()处于System.Net.Mail。位于g:\ pleskvhosts \ myweburl \ httpdocs \ contact.aspx.cs中contact.btnSubmit_Click(Object sender,EventArgs e)的System.Net.Mail.SmtpClient..ctor(String host,Int32 port)上的SmtpClient.Initialize():第33行失败的操作是:Demand失败的第一个权限的类型是:System.Net.Mail.SmtpPermission失败的程序集区域是:MyComputer 有谁知道这意味着什么? 我的contact.aspx.cs代码是 protected void btnSubmit_Click(object sender, EventArgs e) { try { MailMessage mailMsg = new MailMessage(); mailMsg.From = new MailAddress(TheirEmail.Text); mailMsg.To.Add(“myemailaddress@gmail.com”); mailMsg.IsBodyHtml = true; mailMsg.Subject = “Contact Question!”; mailMsg.Body […]

ConfigurationSettings.AppSettings已过时,警告

var values = new NameValueCollection { { “key”, ConfigurationSettings.AppSettings[“API-Key”].ToString() }, { “image”, Convert.ToBase64String(File.ReadAllBytes(photo.ToString())) } }; 使用app.config文件的新方法是什么?

ConfigurationManager和静态类

我想使用ConfigurationManager从静态类访问一些字符串值。 但是,我需要特别处理缺少值或空值的存在。 现在我正在使用类型初始化器,比如 private static readonly string someStr = ConfigurationManager.AppSettings[“abc”]; 做这个工作。 但是,如果App.config中不存在具有键“abc”的字符串,则执行将继续使用null引用代替someStr 。 那么,什么是在初始化时validation此值的最佳方法? 一个静态构造函数,我在其中初始化值然后检查有效性? 我听说要避免使用静态构造函数,并在可能的情况下用类型初始化程序替换。