Tag: wpf

当另一个进程退出时,在C#中引发事件

我不知道这个问题是否已被提出,但我找不到任何内容,所以如果你能找到一些东西,请引导我朝着正确的方向前进。 基本上,我想在我的当前C#程序中添加一个事件,以便在另一个指定进程(“example.exe”)退出时引发。 那可能吗? 如果那是不可能的,那么,当通过直接路径(“C:\ somefolderpaths … \ example.exe”)指定的进程退出时,是否存在引发事件的方法? 要添加:我的程序不启动进程example.exe。

将笔划应用于XAML中的文本块

我有一个Silverlight应用程序,我想给我的textblock一个大纲( 不是文本块, 字符本身),也称为stroke 。 我发现这个问题适用于WPF ,但是在使用XAML/Silverlight ( PresentationFramework不是Silverlight程序集)时有没有办法实现这个目的? 是否有现成的实施?

使用MVVM绑定MainWindow上的UserControl View模型

我是WPF和MVVM的新手,我正在努力学习WPF如何使用MVVM。 为此,我做了如下样本 UserControl1.xaml UserControl1ViewModel.cs class UserControl1ViewModel { public string MyString { get; set; } } MainWindow.xaml //tried binding the Usercontrol1VM obj on MainWindowVM MainWindow.xaml.cs public MainWindow() { InitializeComponent(); this.DataContext = new MainWindowViewModel(); } MainWindowViewModel.cs class MainWindowViewModel { public MainWindowViewModel() { ShowMeOne = new RelayCommand(Prompt_ShowMeOne); ShowMeAnother = new RelayCommand(Prompt_ShowMeAnother); UC1Property.MyString = “Initial”; } private void Prompt_ShowMeAnother(object […]

SecureString到Byte C#

我如何得到一个相当于SecureString的byte[] (我从PasswordBox获得)? 我的目标是使用CryptoStream将这些字节写入文件,并且该类的Write方法接受byte[]输入,因此我想将SecureString转换为byte[]以便我可以使用CryptoStream 。 编辑:我不想使用string因为它击败了拥有SecureString的点

如何动态地将控件添加到另一个类的WrapPanel?

我正在从VB迁移到C#,并认为WPF对我来说是最好的选择,因为我一直在开发的程序是基于GUI的高度依赖的应用程序。 但是,在尝试获取VB中的简单任务以使用C#代码时,C#给我带来了很多麻烦,困惑和沮丧。 在VB中,我可以非常轻松地完成这项工作。 但是在C#中,在花了无数个小时(现在几天)搜索和玩代码之后,我仍然不知道如何让这个工作。 我的情景: 我有2个xaml页面。 第一个xaml页面有一个wrappanel。 第二个xaml页面有一个按钮,它将创建一个新按钮并将其添加到xaml第1页的wrappanel中。 在page1.xaml.cs中使用下面的代码时,我可以轻松地向wrappanel添加一个新按钮: Button New_Button = new Button(); My_WrapPanel.Children.Add(New_Button); 我也试过调用第2页的page1中的方法来创建按钮,但新的按钮没有显示在wrappanel中! 我真的很感激一些帮助,可能还有一个简单的代码示例来帮助我。

WPF:只能使用一次StaticResource

我在WPF Windows XAML中定义了静态资源: 我想两次使用它: … 但它只显示一次按钮图像。 在最后一个按钮上。 第一个按钮没有图像。 当我删除第二个按钮时,它适用于第一个按钮。 如何多次使用StaticResource? Visual Studio GUI Designer在两个按钮上显示图像。

如何访问ListBoxItems的Visibility属性

在我的WPF程序中,我有一个ListBox控件: 如何访问ListBoxItems Visibility属性? 我的代码不起作用: mailsListBox.Items[1].Visibility = Visible;

“async void”WPF命令处理程序中的exception处理

我正在审查我的同事的一些WPF代码,这是一个基于UserControl的组件库 ,包含许多async void事件和命令处理程序。 这些方法目前不在内部实现任何error handling 。 代码简而言之: private async void NewCommand_Executed(object sender, ExecutedRoutedEventArgs e) { // do some fake async work (and may throw if timeout < -1) var timeout = new Random(Environment.TickCount).Next(-100, 100); await Task.Delay(timeout); } 抛出exception但在NewCommand_Executed未观察到的exception只能在全局级别上处理 (例如,使用AppDomain.CurrentDomain.UnhandledException )。 显然,这不是一个好主意。 我可以在本地处理exception: private async void NewCommand_Executed(object sender, ExecutedRoutedEventArgs e) { try { // do some […]

在WPF中使用BackgroundWorker更新UI

我目前正在编写一个简单的WPF 3.5应用程序,该应用程序利用SharePoint COM调用SharePoint站点并生成组和用户信息。 由于此过程需要一段时间,因此我希望在生成组时显示ProgressBar。 期望的过程如下: 用户输入url并单击按钮以获取站点数据。 ProgressBar开始动画 生成组并将名称添加到ListView 完成后,ProgressBar动画结束 我遇到的问题是UI永远不会更新。 ProgressBar或ListView都不做任何更改。 如果有人有任何想法来帮助下面的代码,将不胜感激。 private void GetGroupsAndUsersButton_Click(object sender, RoutedEventArgs e) { siteUrl = “”; if (SiteURLTextBox.Text.Length > 0) { FetchDataProgressBar.IsIndeterminate = true; mWorker = new BackgroundWorker(); mWorker.DoWork += new DoWorkEventHandler(worker_DoWork); mWorker.WorkerSupportsCancellation = true; mWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted); mWorker.RunWorkerAsync(); } else { System.Windows.MessageBox.Show(“Please enter a URL for the […]

如何在WPF中运行我的应用程序时禁用“PRINT SCREEN”按钮?

如何在WPF应用程序运行时禁用“打印屏幕”function? 用例是我的客户希望避免不必要地复制来自外部世界的有价值的以患者为中心的数据,并且它们提供物理安全性以防止人们通过非数字手段获取数据。