Tag: wpf controls

WPF – 发送密钥Redux

所以,我正在使用硬编码的第三方wpf网格控件,只接受某些击键来执行快捷反应,其中一个是Shift-Tab。 但是,我的用户群用于点击箭头和向下箭头并告诉他们“不”现在不是一个选项。 所以我认为我唯一的选择是截取预览键并发送不同的击键组合。 现在,我使用以下代码在此处发送Tab,当用户按下向下箭头时: if (e.Key == Key.Down) { e.Handled = true; KeyEventArgs eInsertBack = new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, Key.Tab); eInsertBack.RoutedEvent = UIElement.KeyDownEvent; InputManager.Current.ProcessInput(eInsertBack); } 但是,这种方法的局限性在于您似乎无法模拟按下Shift键? WPF似乎看看Keyboard.Modifiers能够“读取”Shift或Ctrl,但似乎没有任何工具以编程方式设置Keyboard.Modifiers。 有帮助吗?

有没有办法“提取”Expression Blend的WPF控件?

我不确定构成Expression Blend UI的WPF控件是否以可用的方式打包在应用程序中,如单独的程序集等。但如果不是,有没有办法“提取”这些控件,这样你就可以在您的应用程序中具有相同的控件具有相同的外观和function?

如何在WPF中获取组框中的控件列表

在标准的WinForms开发中,我将执行以下操作: foreach (Control in groupBox1.Controls) { MessageBox.Show(c.Name); } 一个人在WPF中如何做到这一点? 我在GroupBox中有一个Grid和网格中的一些控件(按钮等),但似乎无法弄清楚如何获得每个控件。

如何知道wpf app是否在终端服务会话中?

有没有相当于 Wpf中的SystemInformation.TerminalServerSession ? 我想知道当前的wpf应用程序是否在终端服务器会话中运行。 谢谢

检查RoutedEvent是否有任何处理程序

我有一个自定义Button类,它在点击时总是执行相同的操作(打开一个特定的窗口)。 我正在添加一个可以在按钮的XAML中分配的Click事件,就像常规按钮一样。 单击它时,我想执行Click事件处理程序(如果已分配),否则我想执行默认操作。 问题是,显然没有办法检查是否有任何处理程序添加到事件中。 我认为对事件的空检查会这样做: if (Click == null) { DefaultClickAction(); } else { RaiseEvent(new RoutedEventArgs(ClickEvent, this));; } ……但那不会编译。 编译器告诉我除了+ =或 – =之外我不能对定义类之外的事件执行任何操作,尽管我正在尝试执行此操作检查INSIDE定义类。 我自己实现了正确的行为,但是它很丑陋且冗长,我无法相信没有内置的方法来做到这一点。 我肯定错过了什么。 这是相关的代码: public class MyButtonClass : Control { //… public static readonly RoutedEvent ClickEvent = EventManager.RegisterRoutedEvent(“Click”, RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(MyButtonClass)); public event RoutedEventHandler Click { add { ClickHandlerCount++; AddHandler(ClickEvent, value); } remove […]

如何在WPF UI中使可交互或可点击

这是我使用WPF设计UI的第一天。 我查了一下Flow Document的 MSDN官方文档,发现我可以在RichTextBox中放置一个UI控件。 我确实放了一个按钮,但发现它不能互动 – 我不能点击它,因为它是灰色的。 我也尝试了其他控件,它们都显示正常但只是不支持交互。 即使是超链接也不起作用。 我通过互联网搜索,有史以来最接近的问题是关于如何使内部超链接可点击: 类似的问题:C#WPF文本链接 我做了同样的事情,但它没有奏效! 所有组件都显示良好,但无法单击。 这是我的XAML代码: Click on this: http://www.jxitc.info Also Click On This 任何人都可以给我一些建议:1。是否有可能使其可点击2.如果是,如果我忘记设置RichTextBox控件的任何/什么属性?

将ComboBox的SelectedValue绑定到WPF中的枚举

我想在ListView中显示产品列表,其中一列是我想要绑定的ComboBox 。 这是我的枚举: public enum SelectionMode { One, Two } 和产品类: public class Product { public SelectionMode Mode { get; set; } public string Name { get; set; } } 在ViewModel类中,我有一个Product的ObservableCollection : private ObservableCollection _productList; public ObservableCollection ProductList { get { return _productList; } set { _productList = value; } } public MainViewModel() { ProductList […]

让我的wpf应用程序全屏(封面任务栏和窗口标题栏)

我想让我的应用程序可以最大化到全屏幕意味着它也隐藏了Windows任务栏和标题栏。 它应该由一个按钮触发。 我正在尝试像这样开发我的应用程序窗口。 在下面添加我的代码段

WPF使用C#从UIElement截取JPG

我正在尝试从我的部分WPF应用程序创建JPG。 就像截图一样,只有个别的UIElement 。 我从这里开始: http : //www.grumpydev.com/2009/01/03/taking-wpf-screenshots/ 我正在使用他的扩展方法,该方法允许您使用UIElement.GetJpgImage()获取byte []。 然后可以使用文件流将其写入JPG图像。 如果我制作整个窗口的JPG,它看起来很好! 但是,这并不理想,因为它只捕获用户看到的内容。 由于滚动查看器而无法显示的内容或因为其父级动画为小尺寸而无法显示的内容。 如果我拍摄一个“截图”,例如我用于布局的网格: alt text http://img697.imageshack.us/img697/4233/fullscreenshot2.jpg 我得到了这个黑色背景的垃圾。 我不希望这样。 此外,如果我使用动画折叠了这个网格的高度,我根本不会得到任何东西。 这些实际上是模板化的复选框,它们上面应该有黑色文本,网格的背景应该是白色的。 这是其他人写的代码,用于返回写入文件流的byte []数组: public static byte[] GetJpgImage(this UIElement source, double scale, int quality) { double actualHeight = source.RenderSize.Height; double actualWidth = source.RenderSize.Width; double renderHeight = actualHeight * scale; double renderWidth = actualWidth * scale; RenderTargetBitmap […]

模拟Windows 8开始菜单平铺布局引擎

那么那里的任何人都知道完美模拟Windows 8开始菜单平铺布局引擎的示例代码或控件? 它应该支持混合的Square和Rectangle Tiles,并正确地重新打包矩形块上方或下方的方块。 注意:如果ALL TILES为Square,则WrapPanel有效。 但是一旦你混合了占地2平方的空间的瓷砖,布局就会中断,并且与Windows 8开始菜单不一致 我期待扩展WPF Panel的代码。 免责声明:是的我已在互联网上搜索过,我发现的最接近的是CodeProject示例,但只有在所有磁贴都是相同大小的方块时才有效。