Tag: wpf

有没有一个好的方法来转换BitmapSource和位图?

据我可以告诉唯一的方法来从BitmapSource转换为位图是通过不安全的代码…像这样(来自Lesters WPF博客 ): myBitmapSource.CopyPixels(bits, stride, 0); unsafe { fixed (byte* pBits = bits) { IntPtr ptr = new IntPtr(pBits); System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap( width, height, stride, System.Drawing.Imaging.PixelFormat.Format32bppPArgb,ptr); return bitmap; } } 做相反的事情: System.Windows.Media.Imaging.BitmapSource bitmapSource = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap( bitmap.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions()); 在框架中有一个更简单的方法吗? 那它不在的原因是什么(如果不是的话)? 我会认为这是相当有用的。 我需要它的原因是因为我使用AForge在WPF应用程序中执行某些图像操作。 WPF想要显示BitmapSource / ImageSource,但是AForge在位图上工作。

如何在app.xaml中设置默认的WPF窗口样式?

我想在我的app.xaml中的WPF Windows应用程序中的每个窗口设置默认样式。 到目前为止,我在app.xaml中有这个: <Application.Resources> <ResourceDictionary> <Style x:Key="WindowStyle" TargetType="{x:Type Window}"> <Setter Property="Background" Value="Blue" /> </Style> </ResourceDictionary> </Application.Resources> 当运行应用程序(但不是VSdevise器)时,我可以通过特别告诉窗口使用这个样式来使窗口出现在这个样式中: Style="{DynamicResource WindowStyle} 这工作,但不理想。 那么我如何: 让所有窗口自动使用样式(所以我不必在每个窗口中指定它)? VSdevise师有风格吗? 谢谢!

如何将多个值绑定到单个WPF TextBlock?

我目前正在使用下面的TextBlock绑定名为Name的属性的值: <TextBlock Text="{Binding Name}" /> 现在,我想要将另一个名为ID属性绑定到同一个TextBlock 。 是否有可能将两个或更多的值绑定到同一个TextBlock ? 可以用简单的连接来完成,比如Name + ID ,如果没有,还可以怎么接近呢?

如何在wpf中创build自定义的窗口镶边?

我怎样才能创build一个基本的自定义窗口铬为WPF窗口,不包括closuresbutton,仍然是一个可移动和可resize的窗口?

快速执行和线程安全的可观察收集

ObservableCollection会为每个对其执行的操作提出通知。 首先,他们没有批量添加或删除调用,其次他们不是线程安全的。 这不会让他们变慢吗? 不能我们有一个更快的select? 有人说ICollectionView缠绕在ObservableCollection上的速度很快吗? 这个说法多么真实 ?

以编程方式将列和行添加到WPF Datagrid

我是新来的WPF。 我只想知道我们应该如何以编程方式将列和行添加到WPF中的DataGrid。 我们用Windows窗体来做的方式。 创build表格列和行,并将其绑定到DataGrid。 我相信WPF的DataGrid是有点不同ASP.net和Windows窗体中使用(纠正我,如果我错了)。 我有我需要在DataGrid中绘制的行数和列数,以便用户可以编辑单元格中的数据。

元数据文件'.dll'找不到

我正在一个WPF,C#3.0项目,我得到这个错误: Error 1 Metadata file 'WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug \BusinessLogicLayer.dll' could not be found C:\-=WORK=- \Tools \VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem 编辑: 这是我参考我的usercontrols xmlns:vms="clr-namespace:VersionManagementSystem" <vms:SignOffProjectListing Margin="5"/> 它发生在每个失败的构build之后。 解决scheme编译的唯一方法是注释掉所有的用户控件,然后构build项目,然后取消usercontrols的注释,一切正常。 我已经检查了构build命令,依赖configuration。 正如你可以看到它似乎已经截断了DLL的绝对path…我已经读过,有一个长度的错误。 这是一个可能的问题? 这是非常烦人的,不得不评论,build立,取消注释,build立变得非常烦人。

在创build新的GUI时,WPF是Windows Forms的首选吗?

大多数程序员都会使用Windows窗体的大多数限制和技巧。 但是从.NET 3.0开始,还有WPF可用,即Windows Presentation Foundation。 据说你可以使“性感应用程序”更容易,.NET 3.5 SP1在执行时有很好的速度提升。 但另一方面,许多事情与WPF有所不同。 我不会说这是更难的,但你必须从头开始学习“一切”。 我的问题:当你需要创build一个新的graphics用户界面并且没有时间压力的时候,是否值得花费额外的时间?

在视图模型之间传递参数

在我的应用程序中,我有2个意见。 列表(GridView)和表单。 我正在改变这个线程中提出的意见: WPF MVVM开关usercontrols 现在我有一个问题,如何通过点击编辑后显示新的视图编辑窗体通过选定项目的ID。 简单的应用程序列出所有项目,添加新的,删除和编辑。 我怎样才能在MVVWM中做到这一点? UPDATE 我只是想创build一个简单的应用程序,左边有菜单: 名单 添新。 点击列表时,显示UC列表和3个button:添加,编辑,删除。 点击添加后,编辑它显示具有特定值(编辑时)的表单与UC。 我怎样才能做到这一点?

从XAML调用参数化的构造函数

在使用WPF时,我注意到当我将一个控件添加到一个XAML文件时,默认的构造函数被调用。 有没有办法调用一个参数化的构造函数?