jjzjj

c# - WPF 数据绑定(bind) : enable/disable a control based on content of var?

我的表单上有一个按钮,只有在TreeView(或tabitem中的ListView)中选择了一个项目时才应启用该按钮。选择一个项目时,它的值存储在一个字符串成员变量中。我可以将按钮的IsEnabled属性绑定(bind)到成员var的内容吗?也就是说,如果成员var不为空,则启用该按钮。同样,当成员变量的内容发生变化(设置或清除)时,按钮的状态也应发生变化。 最佳答案 由于您可能希望根据字符串绑定(bind)按钮的IsEnabled属性,请尝试为它创建一个转换器。即...和转换器:[ValueConversion(typeof(st

c# - 只要有具有焦点的只读文本框,就无法在按键事件上检测到 Ctrl + 键快捷方式

我以为我自己解决了这个问题,但它又回来困扰我的应用程序所以这里是:我在一个表单中注册了以下keydown事件处理程序,其中包含几个禁用和只读的文本框,它们只是按钮的简单快捷方式:privatevoidAccountViewForm_KeyDown(objectsender,KeyEventArgse){//e.SuppressKeyPress=true;//e.Handled=true;if(Control.ModifierKeys==Keys.Control&&e.KeyCode==Keys.E&&!isInEditMode)btnEditMode_Click(sender,e);i

c# - 你能有 2 个 url 指向 asp :Menu control? 中的同一页面吗

我有一个asp:Menu,它包含一个指向http://www.example.com/one.aspx的顶级菜单项.当您将鼠标悬停在顶级菜单项上时,它会显示一个下拉菜单,其中一个选项是One,它指向http://www.example.com/one.aspx。.显然,我不能这样做,所以我一直在放一个?在第二个网址的末尾解决这个问题。我很好奇是否可以让两个url指向asp:Menu中的同一位置? 最佳答案 我遇到了同样的问题,并使用了您的解决方案的细微变化:我在URL中添加了anchor,例如:http://www.example.

c# - 如何获得父控件的所有子项?

我正在寻找一个代码示例如何获取父控件的所有子项。我不知道怎么做。foreach(ControlcontrolinControls){if(control.HasChildren){??}} 最佳答案 如果你只想要直接的child,使用...varchildren=control.Controls.OfType();...如果您想要层次结构中的所有控件(即树中的所有内容都在某个控件下),请使用非常简单的数据递归方法:privateIEnumerableGetControlHierarchy(Controlroot){varqueue=

c# - 在网络表单中查找控件

我有一个Web内容表单,需要访问内容面板内的控件。我知道有两种访问控件的方法:TextBoxtxt=(TextBox)Page.Controls[0].Controls[3].Controls[48].Controls[6]通过编写一个递归函数来搜索所有控件。有没有其他更简单的方法,因为Page.FindControl在这种情况下不起作用。我问的原因是我觉得Page对象或ContentPanel对象应该有一个方法来查找子控件,但找不到类似的方法。 最佳答案 问题是FindControl()不会遍历某些子控件,例如模板控件。如果您要查

c# - 多个 Control.BeginInvoke/Invoke 调用会按顺序执行吗?

我需要知道Control.BeginInvoke和Control.Invoke调用是否会按照它们被调用的顺序执行。我有以下场景:UI线程被阻塞WCF线程调用Control.BeginInvokeWCF线程调用Control.Invoke(或可能再次调用BeginInvoke)UI线程未阻塞??步骤1-4的执行顺序保证按照显示的顺序(从技术上讲,顺序不能保证是那样,但我的问题只有在顺序如图所示时才相关)。我的问题是第3步中的Invoke/BeginInvoke调用是否有可能在第2步中的BeginInvoke调用之前执行?此外,请不要评论阻​​塞UI线程。 最佳

用于将操作应用于不同数量的对象的 C# 语法

这个问题在这里已经有了答案:ApplyfunctiontoallelementsofcollectionthroughLINQ[duplicate](8个答案)关闭9年前。我想做的是将lambda语法与“params”结合起来对一系列对象执行操作。假设我想让一堆控件不可见。经过一番摆弄后,我最终得到了一个扩展方法:publicstaticvoidOn(thisActionactionToCarryOut,paramsT[]listOfThings){foreach(varthinginlistOfThings){actionToCarryOut(thing);}}然后我可以创建一个Ac

c# - ASP.NET 5 : Access-Control-Allow-Origin in response

据我了解,相应地启用CORS后,响应模型应包含以下header信息(前提是我要允许所有内容):Access-Control-Allow-Origin:*Access-Control-Allow-Method:*Access-Control-Allow-Header:*在Startup中启用它:publicvoidConfigureServices(IServiceCollectionservices){//...services.AddCors();services.ConfigureCors(options=>{options.AddPolicy("AllowAll",p=>p.Al

c# - Control.ClientRectangle 与 Control.DisplayRectangle

我理解客户矩形关于表单/控件的概念,但是我不明白之间有什么区别Control.ClientRectangle和Control.DisplayRectangle..在阅读了这两个属性的MSDN页面后,不清楚何时其中一个会返回与另一个不同的值。.ClientRectangle的MSDN页面说:Theclientareaofacontrolistheboundsofthecontrol,minusthenonclientelements,suchas:TitleBar,Border,ScrollBars,andMenu.这很清楚。.DisplayRectangle的MSDN页面说:Forth

c# - Control.Invoke 输入参数

根据我在C#中的发现,Control.Invoke方法要求您使用不带输入参数的委托(delegate)。有没有办法解决?我想调用一个方法来从另一个线程更新UI并将字符串参数传递给它。 最佳答案 您使用的是哪个版本的C#?如果您使用的是C#3.5,则可以使用闭包来避免传入参数。使用C#3.5publicstaticclassControlExtensions{publicstaticTResultInvokeEx(thisTControlcontrol,Funcfunc)whereTControl:Control{returncont