Tag: wpf

是否可以将属性更改为属性?

我找到了Propperty Changed Event的一个实现,我可以在没有Web中属性名称的情况下更改Call Property。 然后我在这里建立了一个扩展方法 public static void OnPropertyChanged(this INotifyPropertyChanged iNotifyPropertyChanged, string propertyName = null) { if (propertyName == null) propertyName = new StackTrace().GetFrame(1).GetMethod().Name.Replace(“set_”, “”); FieldInfo field = iNotifyPropertyChanged.GetType().GetField(“PropertyChanged”, BindingFlags.Instance | BindingFlags.NonPublic); if (field == (FieldInfo) null) return; object obj = field.GetValue((object) iNotifyPropertyChanged); if (obj == null) return; obj.GetType().GetMethod(“Invoke”).Invoke(obj, new object[2] { (object) iNotifyPropertyChanged, (object) […]

如何使WPF图像无法使用?

我需要一个在禁用时灰显的图像(IsEnabled = False)。 通过将BitmapImage读入此处显示的FormatConvertedBitmap,可以生成图像的灰色版本。 我已经能够使用UserControl,但现在我想在专门的Image类中使用相同的行为以获得更大的灵活性。 我不在乎这是在XAML,代码隐藏还是两者中实现,但它需要是Image的子类。 用法可能是: OK

制作TreeViewItem包的一部分

我有一个TreeViewItem ,里面有多个部分 – 一个图标,一个标题和一段数据。 我试图把最后一部分包裹起来,而不是把所有东西都包起来,而我没有运气。 以下是问题的说明: 我尝试了一些我在Stack Overflow上发现的东西,没有运气。 我找到了三条建议: 将项目放在一个网格中,其中一列绑定到TreeView的实际宽度。 这是在下面的XAML中实现的,但似乎没有帮助。 使用ScrollViewer.HorizontalScrollBarVisibility = “Disabled” TreeView上的水平滚动,我也在下面的XAML中实现了。 在WrapPanel包装我需要的东西。 我尝试了这个,但结果不佳。 当我将整个TreeViewItem包装在一起时,我得到了难以控制的包装(整个项目包装,所以所有部分都包裹起来,看起来很糟糕)。 当我将所需的TextBlock包装在一个中时,我根本没有得到任何结果。 所以我把它拿出来了。 这是我为TreeViewItem的模板: 这是布局的图示,因此您可以看到TreeViewItem的组成方式: 基本上,灰色部分是图标,绿色部分只是项目之间的间隔,蓝色部分是标题和冒号(基本上与此问题无关),红色部分是实际内容。 这是我要包装的红色部分。 这是TreeView定义: 我觉得我做的事情很简单,但我不确定是什么。 有没有办法实现这一点,而不只是将TextBlock宽度锁定为任意的,如200?

如何在LayoutAnchorable AvalonDock 2中放置窗口实例

我正在将WPF C#应用程序(不是MVVM)中的AvalonDock从1.3升级到2.0。 在1.3中,只要使用了DockableContent:XAML,我就可以放置自定义窗口: <!– <!—-> 代码背后: public partial class JournalWindow : DockableContent { public JournalWindow() { InitializeComponent(); } MainWindow中的代码显示即时元素: JournalWindow journalWindow; journalWindow = new JournalWindow() { Name = nameJournalWindow, Title = “Journal” }; journalWindow.IsCloseable = true; journalWindow.HideOnClose = true; journalWindow.Show(dockManager); 如何使用AvalonDock 2在LayoutAnchorable或其他布局元素(以前称为DockableContent)中放置和显示JournalWindow的实例?

如何在WPF中操作另一个类的窗口对象

我是WPF和C#的新手。 我知道很多VB.NET,当我调用像textboxes等表单对象时,我习惯了这种方式。我从另一种forms调用它。 现在,我正在使用WPF,我很困惑。 因为我有一个主窗口。 我想从类中添加和添加到主窗口中的列表框。 在VB.Net中,就像这样。 IN FORM2 Form1.Textbox.Text = “”; 其中我不能在WPF中这样做。 有人可以帮帮我吗。 谢谢!

在菜单中复选标记显示为黑匣子

我在工具栏中有一个菜单,需要检查,但当我检查项目时,它只是一个黑盒子(我试图上传问题的照片,但StackOverflow不会让我)。 当鼠标hover在复选标记上时,渲染正确。 我不明白我已经尝试删除可能影响它的任何样式但似乎没有任何影响它。 有人可以帮忙吗? 这是菜单项的XAML:

WPF Combobox中的独特值

我想在我的数据绑定combobox中获得不同的值 作为一个例子,它具有的值是:蓝色,蓝色,黄色,红色,橙色 我希望它只显示一次蓝色。 我的主要想法是将所有combobox值都放入一个数组中,将数组设置为distinct,然后重新填充combobox。 还有别的办法吗? 如果不是,我将如何从combobox中获取所有值? 谢谢 编辑 – class级: public class DistinctConverter : IValueConverter { } 编辑 – 调试:

NavigateToStream。 什么URI(如果有的话)用于解析相对链接?

我有一个WPF应用程序,它使用一个对象来显示一些内容,而这些内容又用HTML包装 – 我想动态生成那个HTML,但它会保存到本地不同类型的静态内容的链接文件。 在普通的Web应用程序中,我会尝试使用相对URI – 它们将相对于动态页面的URI进行查找。 问题是如果我使用WebBrowser.NavigateToStream (或.NavigateToString )。 在这种情况下,用于解析相对链接的“根”URI是什么? 我可以控制它吗? 它固定了吗? 也许相对的Uris在这样的数据流中被禁止。

如何使scrollviewer滚动像素而不是组件(wpf)

我正在尝试使我的滚动查看器完美滚动,即我有一个scrollviewer并且它包含一个stackpanel,堆栈面板包含一个用户自制的用户控件。 它们可以在运行时动态增加或减少。 问题是,假设我的堆栈面板中只有2个用户控件,滚动查看器只有2个级别的滚动,因此它为每次单击或鼠标滚轮移动滚动整个用户控件。 我怎么能改变呢? 它是属性还是设计中存在错误? 这是它的xaml代码: 并且堆栈面板动态扩展或收缩。

如何触发与C#中的最大化相关联的事件

请考虑以下代码: Window myWindow = new MyWindowSubclass(); myWindow.BringIntoView(); myWindow.Show(); // Code which is effective as pressing the maximize button 此外,如何检测窗口是否确实处于最大化状态。