最近一个没修改过的代码突然UI界面加载太慢,之前的情况都是不到1秒就加载好了,查了一天的原因是用了字体
xaml中就新增了一个lable 用i字体
<Label Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Content="{Binding ShowHospitalName}" Foreground="Black" HorizontalAlignment="Center" FontSize="20" FontFamily="{x:Static Common:CustomFonts.NotoSansBold}" />
<Label Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Content="{Binding ShowHospitalName}" Foreground="Black" HorizontalAlignment="Center" FontSize="20" FontFamily= "微软雅黑" FontWeight="Bold"/>
其中 FontFamily="{x:Static Common:CustomFonts.NotoSansBold}" 为自己的静态字体资源
后来修改为微软雅黑 就变快了 ,其他一些UI加载太慢的 也可能是因为用了自定义的控件,样式 字体等 导致,真正CS代码load后的操作 可以通过日志测试得出时间,仅此记录,以便追溯
最近一个没修改过的代码突然UI界面加载太慢,之前的情况都是不到1秒就加载好了,查了一天的原因是用了字体xaml中就新增了一个lable 用i字体<Label Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Content="{Binding ShowHospitalName}" Foreground="Black" HorizontalAlignment="Center" FontSize="20" FontFamily="{x:St...
一:SOA的分布式理念
现在的开发理念,不管是企业级的ERP,还是网站式的应用,都涉及到了SOA的分布式。就拿一个比较典型的网站来说吧,做网站的童鞋们对CAS,SSO这些关键字并不陌生吧,实质就是应用了SOA的理念,把一个网站平台的认证授权单独抽取出来独立成一个系统,其它业务网站的认证授权都以这个为基础,实现了单点的登录,授权。其实在企业级的ERP中,我们也是这么干的,我们把认证授权提取成一个独立的基础平台(这个甚而平台有可能包括:公共基础数据系统,消息系统,工作流,报表)的一个子系统,其它业务系统都围绕着这个基础平台进行开发。如下图所示,把每个业务系统的权限都提取出来,放在基础平台。
二:WCF的安全机制(拦截器)三:
WPF
在bs结构的系统中,HTML5的UI比较有前景,在cs结构的UI中,我想
WPF
应该有她独特的优势,在这儿我们暂时不讨论平台的好坏,技术优劣。且看我怎样用
WPF
来实现一个软件的UI。
开发环境为Visual Studio 2010,数据库为SQL Server 2008,
方案一,更改启动项
出问题应用的启动项是使用的默认设置,查看App.g.cs文件,可以看到自动生成的Main入口函数,如下:
[System.STAThreadAttribute()]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute(“PresentationBuildTasks”, “4.0.0.0”)]
public static void Main()
最近有一个项目需要
加载
大量的控件,导致系统出现卡顿问题,经过几天的努力,终于搞定了,写一下备忘。
解决方案是首次
加载
时只显示可见区域控件,之后使用辅助线程进行分批
加载
,将分批
加载
的线程优先级别设置为空闲时进行,这样在用户操作时就不会出现因
加载
线程导致的卡顿现象了。
1Dispatcher.Invoke(newAction(()=>{2//分批
加载
控件的方法3}),System.Windows.Threading.DispatcherPriority.ApplicationIdle...
出现上面的异常是因为多个线程在同时访问一个对象造成的,在网上查看了一些资料,说的是在
C#
2005后不再支持多线程直接访问
界面
的控件(
界面
创建线程与访问线程不是同一个线程),但是可以可以使用delegate来解决。
相应的解决方法如下:
Application.Current.Dis...
MySqlMethod sqlMethod = new MySqlMethod();
DataTable dt = sqlMethod.selectAllHIDDev();
dataGrid_devHID.ItemsSource = dt.DefaultView;
我的目的是查询一张表,然后把结果显示在DataGrid中,结果发现仅有一两百条数据就会阻塞UI进程2~3秒,找资料后有以下几点思路解决。
DataGrid是否嵌入在StackPanel
在写程序时,有时我们需要连接数据库或者其他服务器,此时可能会消耗很长时间,并出现
界面
卡死。如果用鼠标点击窗口,会显示“无响应”。这是因为耗时操作在UI线程中,阻塞了UI线程,所以网上大多数建议采用多线程,将耗时操作和UI线程分开。以下以连接数据库为例。
首先要using System.Threading;
然后创建连接数据库的sqlconnection
string connString ...
要用
WPF
制作登录
界面
,您需要了解
WPF
的基本知识和使用方法。您可以使用Visual Studio创建
WPF
项目,然后在项目中添加用户
界面
元素,如文本框、标签和按钮等,并使用
C#
代码实现登录功能。
下面是一个简单的例子:
1. 在Visual Studio中创建一个
WPF
项目。
2. 在主窗口上添加文本框,用于输入用户名。
3. 添加另一个文本框,用于输入密码。
4. 添加一个按钮,用于执行登录操作。
5. 在按钮的单击事件处理程序中,实现登录逻辑。
您可以根据您的需求适当地扩展和修改以上步骤,完成更加复杂的登录
界面
。