Tag: wpf

是否可以在多个项目之间共享ResourceDictionary文件?

如果我在一个项目中有一个ResourceDictionary,是否可以创建另一个使用第一个项目中定义的资源的项目? 请注意,这两个项目都是WPF应用程序,而不是ControlLibraries。 谢谢!!

在C#/ WPF中发生特定事件时强制窗口闪烁

我正在使用C#/ WPF来创建一个应用程序。 在该应用程序中,我想在发生特定事件时使窗口闪烁,以便该应用程序的用户知道发生了什么。 我怎样才能在我的C#WPF应用程序中得到它。 就像在Yahoo Messenger中一样,如果你收到消息,那么消息窗口会闪烁以获得你的关注,我想在我的应用程序中使用该效果。

即使关闭WPF跟踪设置,奇怪的资源字典警告也会出现在输出窗口中

我正在使用安装了2012年4月更新的Visual Studio 2011测试版。我有我的调试选项 – >输出窗口> WPF跟踪设置所有值,包括资源字典关闭。但我仍然继续看到像这样的警告消息 System.Windows.ResourceDictionary Warning: 9 : Resource not found; ResourceKey=’CheckBoxCooperStyle1′ 如何调试此类警告,前提是它们不是误报?

检测WPF列表视图滚动条何时位于底部?

有没有办法检测ListView ScrollViewer的滚动条是否已到达虚拟滚动空间的底部? 我想检测这个以从服务器获取更多项目以放入ListView上绑定的ObservableCollection 。 现在我这样做: private void currentTagNotContactsList_scrollChanged(object sender, ScrollChangedEventArgs e) { ListView v = (ListView)sender; if (e.VerticalOffset + e.ViewportHeight == e.ExtentHeight) { Debug.Print(“At the bottom of the list!”); } } 这甚至是正确的吗? 我还需要区分导致事件的垂直滚动条和导致它的水平滚动条(即如果你在框的底部水平滚动,我不想继续生成对服务器的调用)。 谢谢。

强制INotifyDataErrorInfovalidation

我完全按照以下链接中的描述实现了INotifyDataErrorInfo: Easy MVVM Example With INotifyPropertyChanged And INotifyDataErrorInfo 我有一个TextBox ,它绑定到我的模型中的字符串属性。 XAML 模型 private string _fullName; public string FullName { get { return _fullName; } set { // Set raises OnPropertyChanged Set(ref _fullName, value); if (string.IsNullOrWhiteSpace(_fullName)) AddError(nameof(FullName), “Name required”); else RemoveError(nameof(FullName)); } } INotifyDataError代码 private Dictionary<string, List> _errors = new Dictionary<string, List>(); public event EventHandler ErrorsChanged; […]

C# – WPF如何取消引用BitmapImage所以我可以删除源文件?

这似乎是一个相当简单的问题,但我似乎无法想办法解决它。 在WPF窗口中,我有一个图像image_small_pic。 在关联的C#文件中,我使用以下代码设置了它的值: Uri src = new Uri(image_source, UriKind.RelativeOrAbsolute); small_image_bmp = new BitmapImage(src); image_small_pic.Source = small_image_bmp; 其中small_image_bmp是一个公共的BitmapImage对象。 但是如果那时候,如果我将small_image_bmp更改为另一个文件并重新分配image_small_pic.Source,那么原始图像仍然被锁定,我无法删除它。 即使我稍后尝试它仍然被锁定。 有什么想法我可以解决这个问题吗?

使用ItemsSource时添加额外的项目

在我正在构建的项目中,我有一个TabControl ,我想通过ItemsSource显示一系列选项卡。 我还需要在TabControl的开头有一些“概述”选项卡,它们不能位于ItemsSource 。 实现这一目标的最佳方法是什么,我能想到的唯一方法是在我的XAML中使用我的概述选项卡,只需通过代码手动添加选项卡项而不是使用ItemSource ,这是最好的方法。

如何在RichTextBox中的单词周围绘制边框?

假设我有2个TextPointers。 一个指向单词的开头,另一个指向单词的结尾。 我想在单词周围绘制单个像素边框。 我怎么会这样呢? 边框应该与单词绑定,并在用户输入或滚动时随之移动。 我已经尝试过使用DrawingBrush的TextDecorations但是无法提供任何可用的东西。

WPF工具提示不会更新

假设我有一个代表工作人员的简单类 class Staff { public string FirstName { get; set; } public string FamilyName { get; set; } public int SecondsAlive { get; set; } } 我有一个DataTemplate供员工使用 然后我在ListBox中展示了一大堆人员 myListBox.ItemsSource = GetAllStaff(); 很标准的东西。 我遇到的问题是显示某人活着的秒数的工具提示没有得到更新。 当你第一次将鼠标移到一个工作人员上时,它工作正常,但从那时起它就永远保持这个价值。 我可以实现INotifyPropertyChanged以解决这个问题,但是只要SecondsAlive发生变化,每个工作人员都可以做到这一点。 假设我在列表中有400名员工,那么我必须筹集400个事件,即使用户可能永远不会查看另一个工具提示。 我想要的是使工具提示请求显示SecondsAlive属性。 那可能吗? 请注意,这只是一个例子,我不需要知道我的员工活了多少秒:-)但我有同样的问题,我需要提高一个甚至大约400倍的工具提示,有人可能不会看。

在WPF中使用MVVM拖动鼠标时绘制矩形

下面是我的xaml。 我在canvas里面有一个图像。 我想在图像上拖动鼠标时在图像上绘制矩形。 我在WPF中成功完成了它。 但现在我想在MVVM中做到这一点。 我没有在代码中使用事件处理程序,而是希望将它们放在我的ViewModel中。 我正在使用MVVM Foundation来实现MVVM。 以下是MVVM Foundation的链接。 http://sofzh.miximages.com/c%23/CapturedImage.png” MouseDown=”imgCamera_MouseDown” MouseMove=”imgCamera_MouseMove” MouseUp=”imgCamera_MouseUp” /> 用代码写的代码 // This is the rectangle to be shown when mouse is dragged on camera image. private Point startPoint; private Rectangle rectSelectArea; /// /// /// /// /// private void imgCamera_MouseDown(object sender, MouseButtonEventArgs e) { startPoint = e.GetPosition(cnvImage); // Remove the […]