Tag: wpf controls

用户单击任务栏上的程序时检测事件?

我想知道如果用户在任务栏上单击我的应用程序以最小化或最大化应用程序,则以wpf窗口forms触发哪个事件。 我刚刚尝试过Activated和Deactivated事件,但它不起作用。我的意思是这些事件触发了很多次。 谢谢。

在WPF C#中将光标焦点设置为可编辑的Combobox

我在WPF中有可编辑的combobox,我想从C#设置焦点, 我正在使用Combobox.Focus(),但它只显示选择但我想要编辑选项,用户可以开始输入。 更新:想出FIX 我最终在Combobox中添加了’Loaded’事件并写了以下代码以获得重点并且它工作得很好 private void LocationComboBox_Loaded(object sender, RoutedEventArgs e) { ComboBox cmBox = (System.Windows.Controls.ComboBox)sender; var textBox = (cmBox.Template.FindName(“PART_EditableTextBox”, cmBox) as TextBox); if (textBox != null) { textBox.Focus(); textBox.SelectionStart = textBox.Text.Length; } }

WPF TextBlock重叠椭圆

我试图在WPF中创建它(我意识到我可以只使用一个图像,但我正在尝试学习WPF): http://www.iconarchive.com/show/ios7-icons-by-visualpharm/info-icon.html 这是我到目前为止,但它没有产生所需的结果,因为,文本框似乎完全隐藏椭圆,而它应该只是具有透明背景:

ToggleButton根据状态更改图像

我想以下列方式使用ToggleButton:有5个不同的图像,每个图像应根据当前状态显示: 按钮已禁用 按钮启用,未选中 按钮启用,未选中,由鼠标光标指向 按钮启用,检查 按钮启用,检查,鼠标光标指向 我在这里找到了一个带有两个图像的简单示例,但是如何根据“已检查”属性更改图像? 第二个问题:如何避免为我的应用程序中的每个按钮创建不同的样式? 我使用了大约20个不同的按钮,每个按钮都有不同的图标。 到目前为止,我只在我的代码下面使用了一个图标。 是否可以使用公共代码(样式和模板)并在我想要创建按钮的部分中定义图像源(如我的代码的第3部分)?

慢速平移并放大WPF

我在WPF的几幅canvas上画了大量的文字和文字。 我在WPF中使用了最轻量级的元素: DrawingVisual 我在不同的canvas上绘制了线条,我将它们的thickness限制在缩放系数的倒数上,这样我就可以在缩放时获得均匀的线条粗细。 这意味着当我缩放时,我只是用线条重绘canvas。 带有文本的canvas仅在程序开始时创建。 现在我遇到了一个相当奇怪的问题。 当我缩放时,我的表现很慢。 当我使用虚线样式时性能变差。 像在一个单词中加载一个大文本文件时一样慢,滚动它时遇到问题! 我的第一个想法是,线条的创建可能花费太多。 由于我在每次变焦时创建它们(在鼠标滚轮上),所以我使用了一个适度的秒表来测量滚动鼠标滚轮直到线条创建结束之间的时间。 令我惊讶的是它只需要1毫秒! 因此,线条的创建不是问题。 经过进一步的检查,我发现在平移时我的表现相当缓慢! 当你试图在窗户中拍摄非常大的图像时,就像慢一样! 那可能是什么问题呢? 我知道你会想要一些代码,但由于代码很长,我只会展示Mousewheel事件中发生的事情: private void OnMouseWheel(object sender, MouseWheelEventArgs e) { var sw = new Stopwatch(); sw.Start(); var st = GetScaleTransform(Window); var tt = GetTranslateTransform(Window); var absoluteX = MousePos.Current.X * st.ScaleX + tt.X; var absoluteY = MousePos.Current.Y * st.ScaleY + tt.Y; […]

WPF强制重绘canvas

好的,在Windows窗体中,您可以使用.refresh()在元素上生成重绘事件。 WPF中是否有类似的解决方案? 解释我正在做什么,我在canvas对象上绘制一个迷宫,并希望看到迷宫被绘制(所以我可以看到进展),而不是等待28分钟突然出现的解决方案。 我在canvas上用一系列Rectangle绘制块。 刷新应该在矩形还是canvas上? 这是最近的输出: http : //imgur.com/ftFOv 如果可能的话,我想在c#中找到解决方案。 谢谢。

http://schemas.microsoft.com/winfx/2006/xaml/presentation定义

在Visual Studio中创建新的WpfApplication项目时,您将获得以下XAML。 将URL http://schemas.microsoft.com/winfx/2006/xaml/presentation复制并粘贴到浏览器中我希望看到XSD文件定义,但是出现错误。 为什么? 谢谢。

清除Window中的所有TextBox

我用c#(WPF)编程。 我有很多nested controls 。 我想clear all我的应用程序中的clear all TextBox控件。 通过他们的名字访问它们非常困难。 有没有办法以recursively方式访问它们并清除它们? 例如这样的事情: public void ClearAll(Control c) { if(c is TextBox) { ((TextBox)c).Clear(); return; } foreach(Control child in GetChild(c)) { ClearAll(child); } }

WPF旋转按钮

帮帮我吧。 我需要在z轴上旋转按钮,而不使用外部库,只需使用C#和xaml代码。 那可能吗? 我怎样才能做到这一点? 谢谢。

使用WPF的日期转换器

public class DateTimeConverter : IValueConverter { #region IValueConverter Members public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (values != null) { DateTime test = (DateTime) value ; string date = test.ToString(“d/M/yyyy”); return (date); } return string.Empty; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); […]