Tag: wpf

iPhone喜欢WPF项目中的红色徽章通知吗?

我有一个C#WPF项目,它自动生成每日和每周报告。 我想在新的报告可用时告知用户,所以我想到了一个类似iPhone的徽章,其中新消息的数量出现在一个小红圈上: 替代文字http://sofzh.miximages.com/c%23/so3l2u.png 我想到了三张图片:如果要显示的数字很小,左右两个半圆圈的图像。 对于数字很大(123)并且不适合圆圈的情况,中间的第三个图像。 替代文字http://sofzh.miximages.com/c%23/11lr7mp.png 我想要一个有光泽的效果,所以我想到了图片。 有没有人知道如何在没有图片的情况下以编程方式执行此操作?

将大型C#winforms应用程序升级到WPF的最简单方法是什么?

我在一个大型的C#应用​​程序(大约450,000行代码)上工作,我们经常遇到桌面堆和GDI处理泄漏的问题。 WPF解决了这些问题,但我不知道升级的最佳方法是什么(我预计这需要很长时间)。 应用程序只有几种forms,但这些forms可以包含许多不同的用户控件集,这些用户控件是以编程方式确定的。 这是一个内部公司应用程序,因此我们的发布周期非常短(通常为3周发布周期)。 是否有一些渐进的升级路径,或者我们是否必须付出巨大的努力?

位图中的颜色百分比

在不知道位图的情况下开始 ** To get total pixels in bitmap height*Width To get total white pixels Where R==255 & B==255 & G==255 To get total black pixels Where R==0 & B==0 & G==0 To get total grey pixels where R=G=B 其余的将是混合色,应该给我。 显然程序会运行数千次,所以我需要使用Lockbits。 目前的问题是不准确的结果。 请建议。 尝试使用aforge.net或imagemagick.net库来检查它是否可以给出准确的结果 如何在位图中找到颜色像素百分比,最初位图对象来自PDF页面。 我尝试使用bitmap.getpixel()它需要很长时间,LockBits性能更好,想知道使用Lockbits查找不包括黑色,白色和灰色的彩色像素百分比。 这是为了识别PDF文件中的彩色页面和打印特定页面的颜色用法。 我刚刚有一个代码来检测黑白像素的数量,我只是试图利用这段代码来检测百分比只是通过找到总像素然后差异应该给我颜色像素,不确定它是否正确接近与否! public void ColourPercentage(Bitmap page, ref int nBlackCount, ref […]

C#WPF – DragMove并单击

我需要一个控件来调用MouseLeftButton上的Window的DragMove(),但是在单击时仍然可以运行。 如果调用DragMove(),则不会触发Click和MouseLeftButtonUp,因为DragMove()是一个阻塞调用,直到它们释放鼠标按钮。 有没有人知道一个解决方法来使这项工作? 我已经尝试过基于Thread.Sleep的这个hack,它允许点击工作,如果它快于100毫秒,但它对用户不起作用: ThreadPool.QueueUserWorkItem(_ => { Thread.Sleep(100); Dispatcher.BeginInvoke((Action) delegate { if (Mouse.LeftButton == MouseButtonState.Pressed) { window.DragMove(); } }); }); 编辑:这个黑客工作… window.DragMove(); RaiseEvent(new MouseButtonEventArgs(e.MouseDevice, e.Timestamp, MouseButton.Left) { RoutedEvent = MouseLeftButtonUpEvent }); 谁有更好的?

从WCF服务返回的JSON数据包含转义字符

我有一个工作的WCF – WPF应用程序工作,但我正在寻找一些优化。 下面是我的代码,其中WCF restful服务公开JSON数组,并且WPF UI正在接收它而没有任何问题。 WCF: public clsStatus[] GetAllStatus() { DataTable dt = new DataTable(); List lstGetAllStatus = new List(); try { dt = // My Data Table foreach (DataRow dr in dt.Rows) { dcStatus objGetAllStatus = new clsStatus(); objGetAllStatus.Id = Convert.ToInt32(dr[“Id”]); objGetAllStatus.Status = dr[“Status”].ToString(); lstGetAllStatus.Add(objGetAllStatus); } } return lstGetAllStatus.ToArray(); } 在WPF UI中: public […]

C#WPF取消选中复选框

我使用MS Visual 2013 Express,C#和WPF。 在我的程序中有六个复选框,当选中其中一个时,其他五个应该取消选中。 我用谷歌搜索了最近两个小时,但在C#中找不到作为初学者的解决方案。 在java中,我只想写checkbox1.setSelected(false); 我在C#代码中添加了一个clickevent,一个经过检查和未经检查的evet。 我在.xaml中添加了Checked和Unchecked ,但是我不知道它能让它工作。 希望你能帮我 :) ======================= 我的解决方案 谢谢您的帮助。 我尝试了一些你建议使用“IsChecked”的随机内容并让它幸运地工作。 .Xaml看起来像: CheckBox1的C#代码: private void CheckBox1_Checked(object sender, RoutedEventArgs e) { CheckBox1.IsChecked = true; CheckBox2.IsChecked = false; CheckBox3.IsChecked = false; CheckBox4.IsChecked = false; CheckBox5.IsChecked = false; CheckBox6.IsChecked = false; } 例如,对于CheckBox2: private void CheckBox2_Checked(object sender, RoutedEventArgs e) { CheckBox2.IsChecked = true; […]

当我调用OpenFileDialog的ShowDialog方法时,vshost32.exe已停止工作

我是ac#应用程序,我正在对它做最后的测试。 但是现在,到目前为止每次工作的function都不再起作用了! 我有一个按钮,当我点击它时我想浏览文件,我看到“打开文件”窗口,半秒后,我得到了一个未被捕获的视觉工作室错误: vshost32.exe已停止工作: 对不起,但错误发生在法语本地化计算机上: Signature du problème : Nom d’événement de problème: APPCRASH Nom de l’application: TOM.vshost.exe Version de l’application: 10.0.30319.1 Horodatage de l’application: 4ba2084b Nom du module par défaut: ntdll.dll Version du module par défaut: 6.1.7600.16695 Horodateur du module par défaut: 4cc7ab44 Code de l’exception: c0000008 Décalage de l’exception: 0004631f Version du système: […]

调用线程无法访问此对象,因为另一个线程拥有它

所以我在c#/ wpf中制作一个简单的破砖游戏。 我正在使用计时器遇到一个问题,我觉得这可能是一个简单的修复,但这里发生了什么。 每当t_Elapsed被触发时它会尝试调用Update()但是当它像OMG我那样不在正确的线程中时所以我不能这样做先生。 如何从正确的线程中调用Game中的方法? (是的,我知道代码是丑陋的,并且有很多神奇的数字,但我只是在没有付出太多努力的情况下把它搞砸了。是的,我没有编程游戏的经验) public partial class Game : Grid { public bool running; public Paddle p; public Ball b; Timer t; public Game() { Width = 500; Height = 400; t = new Timer(20); p = new Paddle(); b = new Ball(); for (int i = 15; i < 300; i += […]

如何在WPF上使用ICommand的CanExecute方法

首先要说的是我在WPF和MVVM模式的最开始。 在尝试一些自定义命令时,我想知道如何使用ICommand接口中的CanExecute Methode。 在我的例子中,我有一个SaveCommand,我只能在对象可以保存时启用它。 我的保存按钮的XAML代码如下所示: 这是我的保存类的代码: class Save : ICommand { public MainWindowViewModel viewModel { get; set; } public Save(MainWindowViewModel viewModel) { this.viewModel = viewModel; } public bool CanExecute(object parameter) { if (viewModel.IsSaveable == false) return false; return true; } public event EventHandler CanExecuteChanged; public void Execute(object parameter) { viewModel.Save(); } } ViewModel中的save属性如下所示: public ICommand […]

防止WPF窗口闪烁

我有一个无边框的WPF窗口,需要能够隐藏其中一个控件并同时缩小窗口。 问题是它看起来很糟糕。 这就是我现在正在做的事情: private void btnShowHideTopBar_Click(object sender, RoutedEventArgs e) { if (commandTopHide == true) { txtblkShowHideTopBar.Text = “Show Top Bar”; commandTopHide = false; myWindow.Left = 1100; myWindow.Width = 180; RSide.Width = new GridLength(0, GridUnitType.Pixel); } else if (commandTopHide == false) { txtblkShowHideTopBar.Text = “Hide Top Bar”; commandTopHide = true; myWindow.Left = 1030; myWindow.Width = 250; […]