草庐IT

c# - 如何实现 BoolToVisibilityConverter

在我的应用程序中,我想切换StackPanel中某个项目的可见性。我的Stackpanel包含一个图像和一个文本block。我将如何正确使用BoolToVisibilityConverter来切换TextBlock的可见性,并保存此设置以使用户受益?目前我所拥有的如下,尽管我遇到了一些错误。重要说明,我需要使用ApplicationBar菜单项作为驱动TextBox可见性切换的点击事件。编辑虽然TextBlock的可见性没有改变,但不再发生错误。XAMLxmlns:common="clr-namespace:TestApp.Common"代码隐藏privatevoidBuildLoca

c# - 转换器显示枚举的描述,并在从 wpf 的组合框中选择项目时转换回枚举值

我正在使用枚举在我的组合框中登记值。我想编写一个转换器来显示所选枚举值的“描述”。并且,当被选中时,它将返回枚举值。大多数在线转换器都没有实现ConvertBack()方法(这就是我在这里发帖的原因)。 最佳答案 这里是ConvertBack方法:publicobjectConvertBack(objectvalue,TypetargetType,objectparameter,System.Globalization.CultureInfoculture){returnvalue;}完整转换器代码:publicclassEnumC

c# - SQL 服务器 : invalid object name in query execution

我正在尝试执行Insert语句,但一直收到Invalidobjectname错误。这是我的代码:publicstringaddNewComment(intuserID,intpageID,stringtitle,stringcomment){stringquery="INSERTINTOdbo.nokernok_kommentarer(userID,pageID,commentTitle,comment)"+"VALUES("+userID+","+pageID+",'"+title+"','"+comment+"')";adapter.InsertCommand=newSqlComm

c# - WPF 数据绑定(bind)和 IValueConverter

为什么当我在WPF中的绑定(bind)表达式中使用转换器时,当数据更新时值没有更新。我有一个简单的Person数据模型:classPerson:INotifyPropertyChanged{publicstringFirstName{get;set;}publicstringLastName{get;set;}}我的绑定(bind)表达式如下所示:我的转换器看起来像这样:classPersonNameConverter:IValueConverter{publicobjectConvert(objectvalue,TypetargetType,objectparameter,Cultu

C# 将 Func<T1, object> 转换为 Func<T1, T2>

我毫不怀疑这很容易做到,但我有一个函数创建器库,可以为我创建以下形式的lambda函数:Func我希望更具体地指定out参数-基本上,我希望能够按照以下方式创建一些东西:privateFuncGetFunc(stringexpression){FuncobjFunc=CreateFunction(expression));returnobjFuncasFunc;}但是,当我尝试这个时,我得到了一个null(顺便说一句,如果我返回objFunc作为Func它不是空的,所以我知道那不是我的问题所在)。如何正确执行此操作? 最佳答案 尝试

c# - 将 Dictionary<string, string> 转换为 Dictionary<string, object> 的最简单方法是什么?

我使用的API返回键值集合作为Dictionary.我需要将其转换为Dictionary.我觉得应该有一种方法可以在不“手动”遍历每个键值对的情况下进行这种转换/映射,但谷歌搜索或C#对象引用并没有立即产生解决方案。 最佳答案 尝试以下操作varnewMap=oldMap.ToDictionary(pair=>pair.Key,pair=>(object)pair.Value); 关于c#-将Dictionary转换为Dictionary的最简单方法是什么?,我们在StackOverfl

c# - 如何快速将 object[,] 向上转换为 double[,]?

我使用Microsoft.Office.Interop.Excel我得到一个类型为object[,]的二维数组,其中包含元素的double.请注意,索引下限是1而不是默认的0,但我可以轻松处理。如何很好地使用.NET3.5将数组转换为double[,]。(我的意思是简洁或紧凑)。注意double[]values_2=values.Cast().ToArray();确实有效,但它按数组展平为一维结构。 最佳答案 object[,]src=newobject[2,3];//Initializesrcwithtestdoubles.src

c# - 在 Linq 中将两个 List<object> 合并为一个 List

我有两个列表。BeamElevations和FloorElevations.我怎样才能将这些合并到Elevations使用Linq根据海拔高度列出并排序它们? 最佳答案 使用Concat和OrderByvarresult=list1.Concat(list2).OrderBy(x=>x.Elevation).ToList();如果您想删除重复项并获得一组独特的元素,您还可以使用Union方法:varresult=list1.Union(list2).OrderBy(x=>x.Elevation).ToList();为了使其正常工作,

c# - 我如何在 C# 中释放对象

谁能告诉我如何在C#中释放对象?比如我有一个对象:Objectobj1=newObject();//Somecodeusingobj1/*HereIwouldliketofreeobj1,afteritisnolongerrequiredandalsomoreimportantlyitsscopeisthefullruntimeoftheprogram.*/谢谢你的帮助 最佳答案 你不必。运行时的垃圾收集器会出现并为您清理它。这就是您首先使用C#而不是非托管C++的原因:) 关于c#-我

c# - C# 中的默认访问修饰符

如果我要创建一个如下所示的新对象,它默认具有哪个访问修饰符?ObjectobjectA=newObject(); 最佳答案 任何成员都将始终拥有最受限制的可用成员-因此在这种情况下,objectA的可访问性是private。(假设它是一个实例变量。作为局部变量没有任何意义,因为它们本身没有任何访问规则。)所以这样:classFoo{ObjectobjectA=newObject();}等同于:internalclassFoo{privateObjectobjectA=newObject();}“默认为最私有(private)”意味着