Tag: wpf

使用WPF中的Backgroundworker为主应用程序弹出MessageBox

在WPF应用程序中,我使用BackgroundWorker定期检查服务器上的条件。 虽然工作正常,但我希望弹出一个MessageBox,如果在检查过程中出现故障,请通知用户。 这就是我所拥有的: public static void StartWorker() { worker = new BackgroundWorker(); worker.DoWork += DoSomeWork; worker.RunWorkerAsync(); } private static void DoSomeWork(object sender, DoWorkEventArgs e) { while (!worker.CancellationPending) { Thread.Sleep(5000); var isOkay = CheckCondition(); if(!isOkay) MessageBox.Show(“I should block the main window”); } } 但是这个MessageBox不会阻止主窗口。 我仍然可以点击我的WPF应用程序并使用MessageBox更改我喜欢的任何内容。 我该如何解决这个问题? 谢谢, 编辑: 作为参考,这是我最终做的事情: public static void StartWorker() { worker = […]

XAML绑定到转换器

我想做的是相对简单。 我只是试图将椭圆上的TranslateTransform的Y元素绑定到椭圆的高度的1/2: 我也有以下转换器: public class MultiplyByFactor : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return ((double)value * (double)parameter); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return true; } } 我在实际使用转换器的XAML线上收到错误。 错误是 ‘set property’System.Windows.Data.Binding.Converter’抛出exception。’ 行号’22’和行位置’8’。 任何人都可以了解如何做到这一点? 编辑:是的,我已将转换器添加为资源。

WPF:图像按钮的可重用模板?

我的WPF项目使用了很多图像按钮,但由于我没有找到正确的方法(我每次都必须编写相同的触发器和样式,只有差异是图像源),我的资源字典变得很长徒劳无功。 有更好的方法吗? 这是我用于按钮的样式示例: 谢谢 :)

如何检索Windows的主题颜色?

我想有办法用WPF或C#代码隐藏获取用户Windows主题的主题颜色。 使用这种颜色我的意思是可以在Windows 7下的个性化\窗口颜色和外观中设置的颜色 (我认为也是Vista)。 我想用这种颜色来制作渐变,就像Trillian 5做的那样。 我试图自己找到它,但不幸的是我没有到达任何地方。 显然它不在SystemColors.Whatever下。 我在MSDN上找到了一些东西,但我无法弄清楚如何使用它,我也不认为这是我想要的。 如果有人能帮助我,我将不胜感激。

可以/如何在C#WPF应用程序中托管完整的VB6表单?

我目前正在探索使用C#将一些旧的VB6应用程序移植到WPF的选项。 该计划在第一阶段是移植几个关键forms而不是所有应用程序。 理论上的目标是通过ActiveX dll在WPF中的某种容器中打开VB6表单。 这有可能吗? 我试过看Interop,似乎找不到一个可靠的例子,说明如何使用Win32控件,而不是完整的表单。 我可以完全访问旧的VB6代码,并且无论如何都可以修改它。 主WPF应用程序的以下屏幕截图将用作包装器/容器: http://sofzh.miximages.com/c%23/main_menu_mockup.png 当前VB6维护屏幕将加载到上一屏幕右侧的“空白区域”部分。

如何在xaml中定义和使用资源,以便它们可以在C#中使用

从理论上讲,我认为我可以在xaml文件中定义画笔和颜色等,并将其分配给c#中的button.background。 但是我该怎么做? 我在哪里放置如下的lineargradientbrush定义: 只是将它放在我窗口的xaml文件中的不同位置会导致各种错误消息:/ 我在stackoverflow上找到了这个问题: 如何在XAML中使用定义的画笔资源,从C#中解释其中的一部分,但他似乎知道在哪里做画笔定义。 我还尝试将shinyblue.xaml wpf模板添加到应用程序中,并将到app.xaml中的application.resources。 这使得我的所有按钮立即变为蓝色,但是,仍然可以从C#中访问shinyBlue.xaml中定义的像“NormalBrush”这样的“东西” – 至少我不知道如何。 渣

XAML和WPF – 将变量传递给XAML Windows

我是WPF的新手,我正在尝试加载XAML窗口并在其构造函数中将变量传递给此XAML,因为我需要它从此传递的变量中加载一些项目。 有人能指点我的方向吗? 如何启动XAML窗口并为其提供变量? 在此先感谢.. Erika

在C#中的ListBox中添加ListBoxItem?

我知道: String test = “test”; ListBox.Items.Add(test); 要么 String test = “test”; int index = 1; ListBox.Items.Insert(index, String); 在ListBox中添加String,但我想插入ListBoxItem,如何? 以前我学到了 var contentToString = (String)ListBoxItem.Content; 只是将ListBoxItem转换为String,但我无法将String转换为ListBoxItem

AvalonEdit WPF TextEditor(SharpDevelop):如何突出显示特定范围的文本?

令人难以置信的令人敬畏的AvalonEdit WPF TextEditor控件似乎缺少一个重要的function,或者至少我无法弄明白。 给定偏移量和长度,使用HighlightColor突出显示TextDocument中的该部分 。 简单吧? 显然不是。 我有RTFM,关于“语法突出显示”的文档让我更加困惑。 其他人在SharpDevelop论坛上提出同样的问题,我恐怕无法理解Herr Grunwald的回答。 这是我的尝试,使用DocumentHighlighter类(当然它不起作用): textEditor1.Text = “1234567890”; HighlightingColor c = new HighlightingColor() { FontWeight = FontWeights.ExtraBold }; DocumentHighlighter dh = new DocumentHighlighter(textEditor1.Document, new HighlightingRuleSet()); HighlightedLine hl = dh.HighlightLine(1); hl.Sections.Add(new HighlightedSection() { Color = c, Offset = 1, Length = 3 }); 谢谢你的帮忙!

如何动态更改用户控件在wpf MVVM指示灯中的usercontrol中出现的按钮(单击)

我有一个主窗口,将Usercontrol作为ContentControl主机托管。我想要的是,动态更改按钮单击(存在于第一个Usercontrol中)的usercontrol到另一个usercontrol。 目前,我已在主窗口资源中创建了一个DataTemplate,该资源由usercontrol的相应ViewModel组成 我想在view1中点击按钮时从View1更改为view2。 那么我应该如何在ViewModel1(US1 viewModel)中更改为US2 我目前正在研究MVVM光。 我有一个服务定位器,它具有每个VM的注册实例。 问题是如何指向VM1中的VM2实例。 欢迎任何帮助!!!!!