草庐IT

dynamic-ui

全部标签

c# - 类型为 ‘dynamic’ 的表达式在运行时的行为方式是否应与相同运行类型时间的非动态表达式相同?

考虑以下示例程序:usingSystem;publicdelegatestringMyDelegateType(intinteger);partialclassProgram{staticstringMyMethod(intinteger){returninteger.ToString();}staticvoidMain(){Funcfunc=MyMethod;//Scenario1:worksvarnewDelegate1=newMyDelegateType(func);newDelegate1(47);//Scenario2:doesn’tworkdynamicdyn=func;v

c# - System.Linq.Dynamic - 我可以在 WHERE 语句中使用 IN 子句吗

我有动态linqWHERE语句:dataContext.Table.Where("id=0Orid=1Orid=2Or...");我想更改为:dataContext.Table.Where("idIN(0,1,2,...)");但它不起作用。我怎样才能做到这一点以获得更好的性能? 最佳答案 来自Howtouse“contains”or“like”inadynamiclinqquery?//edit:thisisprobablybroken,seebelowids=newint[]{1,2,3,4};dataContext.Table

c# - Unity3D UI,计算拖动项目的位置?

如今,在Unity中拖动UI元素非常容易:制作一些UI项目。添加组件->事件->事件触发器。放在下面的脚本上。单击以添加四个明显的触发器。大功告成。但是。我完全迷失在指针坐标和UI坐标之间的关系(如RectTransform等中所见)。在下面的DragIt中:如何在手指下正确移动UI面板?假设您有一个大面板,面板中有十个UIButton,按钮上有Dragster。RectTransform坐标和鼠标指针有什么关系...简而言之,如何在下面的DragIt()中移动其中一个按钮?/*modernUnitydragofUIelement*/usingUnityEngine;usingUnit

c# - 为 UI 目的对枚举进行排序

假设我们有一个UI,在这个UI中我们有一个下拉菜单。此下拉列表中填充了枚举的翻译值。恭喜,我们可以按枚举的int值、枚举的名称以及枚举的翻译名称进行排序。但是如果我们想要与上述3种不同的排序方式呢?如何处理这样的需求? 最佳答案 实现你自己的IComparer:usingSystem;usingSystem.Collections.Generic;namespacetest{classProgram{enumX{one,two,three,four}classXCompare:IComparer{publicintCompare(X

c# - 可以在后台线程构建表单,然后在 UI 线程上显示

更新:总结一下我的问题归结为:我希望构建.NET窗体和控件不会创建任何窗口句柄——希望该过程被延迟到Form.Show/Form.ShowDialog谁能证实或否认这是否属实?我有一个带有选项卡控件的大型WinForms表单,表单上有许多控件,在加载时会暂停几秒钟。我已将其缩小到设计器在InitializeComponent中生成的代码,而不是我在构造函数或OnLoad中的任何逻辑。我很清楚我不能尝试在主UI线程以外的任何线程上与UI交互,但我想做的是让应用程序预加载此表单(运行构造函数)在后台,所以一旦用户想要打开它,它就可以立即显示在UI线程上。但是,在后台线程中构建时,在设计器中

c# - 调用线程必须是 STA,因为在 WPF 中很多 UI 组件都需要这个

这个问题在这里已经有了答案:"ThecallingthreadmustbeSTA,becausemanyUIcomponentsrequirethis"errorwhencreatingaWPFpop-upWindowinthread(2个答案)关闭1年前。我的场景:voidInstaller1_AfterInstall(objectsender,InstallEventArgse){try{MainWindowObjMain=newMainWindow();ObjMain.Show();}catch(Exceptionex){Log.Write(ex);}}我收到错误消息“调用线程必

c# - RunAsync - 如何等待 UI 线程上的工作完成?

在等待Dispatcher.RunAsync时,继续会在工作安排时发生,而不是在工作完成时发生。我如何等待工作完成?编辑我最初的问题假设过早继续是由API的设计引起的,所以这是真正的问题。当使用异步委托(delegate)等待Dispatcher.RunAsync时,在委托(delegate)代码中使用await时,遇到await时会继续,不是在工作完成时。我如何等待工作完成?编辑2您可能需要分派(dispatch)已在UI线程上的工作的一个原因是解决微妙的时间和布局问题。视觉树中元素的大小和位置的值不断变化是很常见的,为UI的后续迭代安排工作会有所帮助。

c# - System.Linq.Dynamic 和 DateTime

我正在使用System.Linq.Dynamic在.NetMVC1.0中执行来自ajax调用的自定义where子句。它适用于字符串、整数等,但不适用于DateTime,我得到异常无法将String与DateTime进行比较。非常简单的测试代码是items=items.Where(string.Format(@"{0}>{1}{2}{1}",searchField,delimiter,searchString));例如,searchField是start_date,数据类型是DateTime,分隔符是"(也没有尝试过),searchString是01-Jan-2009(也尝试过01/01

c# - 如何使用 ObservableCollection 从 ViewModel 刷新 UI?

我有一个列表框,其中的项目绑定(bind)到一个ObservableCollection。现在,我需要从viewModel中更新UI。我的View模型中没有对列表框的引用。如果我从我的ObservableCollection中删除或添加一个项目,ui会更新。基于一些其他逻辑我需要更新UI...但是ObservableCollection是一样的。如何在不向我的ObservableCollection添加或删除项目的情况下更新UI?谢谢 最佳答案 我有一个类似的问题,我想更改项目的背景,但显然项目和集合都没有改变。这是通过调用实现的:

c# - 我的异步任务总是阻塞 UI

在WPF4.5应用程序中,我不明白为什么当我使用await+任务时UI被阻塞:privateasyncvoidButton_Click(objectsender,RoutedEventArgse){//Task.Delayworksgreat//awaitTask.Delay(5000);doublevalue=awaitJobAsync(25.0);MessageBox.Show("finished:"+value.ToString());}privateasyncTaskJobAsync(doublevalue){for(inti=0;iawaitTask.Delay运行良好,但a