Tag: wpf

如何基于XML文件自动生成WPF控件?

我有一个Xml文件告诉我必须添加到表单的控件,但这个Xml动态更改,我需要更新表单。 目前,我可以阅读XML文件,但我不知道是否可以自动创建基于此的表单?

设置背景颜色或WPF(4.0)ListBox – Windows 8

我试图将所选ListBoxItem的背景颜色设置为白色而不是系统颜色。 我已经阅读了我在SO上可以找到的内容,并且已经遵循或者相信已经遵循了那里的建议( 更改所选ListBox项目的背景颜色 , WPF如何在列表框失去焦点时更改列表框所选项目文本颜色 , 更改选中和不专心的列表框样式不会变灰 ,以及其他)。 所有似乎都通过为所选项目设置HighlightBrush和ControlBrush为Transparent来解决问题。 我有以下XAML并且它正确设置了字体颜色,但无论画笔设置如何,backgroound都是默认的透明蓝色。 我仍然是一个WPF菜鸟,所以我必须在这里错过一些简单的东西。 String 1 String 2 String 3 String 4 我会感谢任何朝着正确方向的推动。 编辑 : 在阅读了第一个对他们有用的答案后,稍微改了一下,我拿了我在Windows 8机器上开发的应用程序并在Windows 7 VM中执行它,它按预期工作。 有关需要改变什么以使其在Windows 8机器和Windows 7上运行的任何想法?

如何绘制半径弧和起始和停止角度

如果我的Canvas元素的DataContext中有以下四个属性 Point Center double Radius double StartAngle double EndAngle 我可以在没有任何额外代码的情况下绘制弧线吗?

如何将应用程序范围设置变为只读?

如果它们无法从默认值改变,它们有什么用? 修辞问题。 首先,绕过设置系统并直接写入应用程序范围设置文件的最佳方法是什么(下一段中的安全问题)? 的XmlReader / XmlWriter的? IIRC,如果应用程序试图写入其Program Files文件夹,Windows Vista和7会做一些魔术来防止这种情况发生。 我想我需要调用UAC进行升级,我必须在我的应用程序的“选项”窗口的“确定”按钮上添加该花式盾牌图标,依此类推。 链接到快速操作方法? 或者,您可以告诉我,我正在尝试做的是愚蠢的,我应该将我可变的应用程序范围设置存储在其他地方。

创建只接受数字的WPF TextBox

我想创建一个只接受特定范围内的数值的TextBox。 实现此类TextBox的最佳方法是什么? 我想到了派生TextBox并覆盖TextProperty的validation和强制。 但是,我不知道如何做到这一点,我知道通常不推荐导出WPF控件。 编辑: 我需要的是一个非常基本的文本框,可以过滤掉所有不是数字的按键。 实现它的最简单方法是处理TextBox.PreviewTextInput事件: private void textBox_PreviewTextInput(object sender, TextCompositionEventArgs e) { int result; if (!validateStringAsNumber(e.Text,out result,false)) { e.Handled = true; } } (validateStringAsNumber是我主要使用Int.TryParse的函数) 一些建议的解决方案可能更好,但是对于我需要的简单function,这个解决方案是最简单,最快速的,同时满足我的需求。

如何将BitmapImage从后台线程传递到WPF中的UI线程?

我有一个后台线程,生成一系列BitmapImage对象。 每次后台线程完成生成位图时,我想向用户显示此位图。 问题是弄清楚如何将BitmapImage从后台线程传递到UI线程。 这是一个MVVM项目,所以我的视图有一个Image元素: 我的视图模型有一个属性GeneratedImage : private BitmapImage _generatedImage; public BitmapImage GeneratedImage { get { return _generatedImage; } set { if (value == _generatedImage) return; _generatedImage= value; RaisePropertyChanged(“GeneratedImage”); } } 我的视图模型还有创建后台线程的代码: public void InitiateGenerateImages(List coordinates) { ThreadStart generatorThreadStarter = delegate { GenerateImages(coordinates); }; var generatorThread = new Thread(generatorThreadStarter); generatorThread.ApartmentState = ApartmentState.STA; generatorThread.IsBackground = true; generatorThread.Start(); […]

了解WPF派生的WIndow类

我确信这很简单,但对于使用C#的WPF来说我是新手。 我知道从类中inheritance并且已经完成了很多次,例如在C#WinForms项目中…… public class MyClass : DerivedFromClass {} 但是,在WPF中难倒,这就是问题所在。 我想构建我自己的一组控件,用作新学习项目的基线…预设我自己的样式,颜色,背景和其他function。 没问题。 首先使用WPF窗口启动并创建“MyWindow”。 现在,我想把这个基线“MyWindow”和子类THAT用于另一个类MySubClassedWindow。 因此,我创建了一个新的Window类,默认情况下,VS2010构建了表单的设计器和代码部分。 我在MySubClassedWindow上查看代码并查找 partial class MySubclassedWindow : Window {} 在使用WinForms的C#中,我只想改为(并且我已经包含了包含“MyWindow”声明的类库引用。 partial class MySubclassedWindow : MyWindow {} 当我这样做时,我得到一个编译错误 Partial declarations of ‘MyNameSpace.MySubclassedWindow’ must not specify different base classes

在WPF DataGrid中合并单元格

我想创建一个跨越一列多行的WPF数据网格。 像这样: +——-+—————-+ | Name | Attributes | +——-+—————-+ | | Horse Power | | BMW +—————-+ | | Color | +——-+—————-+ | | Weight | | Ford +—————-+ | | Color | +——-+—————-+ 如何更改以下代码才能完成?

在WPF中使用动态资源设置控件背景颜色?

这是我的XAML 所以我有两个问题: Q1:我现在如何在我的代码中将DynamicBG键值设置为红色 ? (当窗口加载时,我想将其设置为红色) Q2:这是应该如何使用动态资源吗? 谢谢

棱镜组件参考失败:System.Windows.Interactivity

我有C#/ WPF Prism(v4.0)应用程序,它有一个持久的问题,加载/解析Prism库附带的System.Windows.Interactivity dll。 我已经连续工作了三天试图调试/解决这个问题。 我已经学会了很多关于.Net程序集的解决方案,但到目前为止我的问题没有运气,所以我想我会转而向StackOverflow社区寻求帮助。 🙂 我有一个模块作为更大的Prism应用程序的一部分运行,它需要引用System.Windows.Interactivity以添加行为。 因此,我有一个XAML用户控件指定命名空间,如下所示: 然后我尝试在UserControl的子元素上设置行为,如下所示: 奇怪的是,该项目构建正常,并且在关联代码隐藏文件中输入时, 我甚至可以在System.Windows.Interactivity命名空间中获取对象的Intellisense自动完成 。 但是, 仅在运行时 ,我在上面的ListBox元素上得到一个XamlParseException。 Could not load file or assembly ‘System.Windows.Interactivity, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. The system cannot find the file specified. InnerException的类型为System.IO.FileNotFoundException “Could not load file or assembly ‘System.Windows.Interactivity, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. The system cannot find the […]