Tag: wpf

Wpf从主屏幕开始

如果用户有多个屏幕, 如何在启动时在主屏幕或所选屏幕中启动应用程序

动画窗口resize(宽度和高度)C#WPF

我正在寻找一些关于动画窗口大小调整窗口大小的帮助! 似乎无法想出这一个! 我只是在使用atm。 this.Width = 500; 任何帮助都会很棒! 谢谢。

为什么我不能将DataContext = {Binding}用于我的上下文菜单?

我的代码看起来像这样: 没有上下文菜单,一切都按预期工作。 但是当我添加这些行时: 我为使用HierarchicalDataTemplate每个元素得到了这个(运行时)错误: System.Windows.Data错误:3:找不到提供DataContext的元素。 BindingExpression :(没有路径); 的DataItem = NULL; target元素是’SomeContextMenu’(Name =”); target属性是’DataContext’(类型’Object’) 为什么Binding适用于除上下文菜单之外的所有内容,但不适用于上下文菜单?

确定在文本框中添加或删除的时间和字符

我在WPF应用程序中有一个简单的文本框。 我需要知道在文本框中添加/删除字符的时间,字符以及添加或删除的位置。 我想过使用TextBox.KeyDown事件,但它有一些问题: 我无法知道添加或删除字符的位置。 我不知道如何确定添加了哪个字符(来自KeyEventArgs )。 有任何想法吗?

WPF错误的KeyDown ASCII代码

我需要根据ASCII表获取键盘键的数值。由于WPF没有内置解决方案,我尝试了几种黑客攻击: 这个只给出大写的值。 char res ; Char.TryParse(e.Key.ToString(),out res); Debug.WriteLine((int)res); 2即使它在许多地方被列为可能的解决方案,但这个数字完全错误。 Debug.WriteLine(Convert.ToInt16(e.Key).ToString()); 那么如何从WPF输入中获取大写和小写字母ASCII代码? 更新 在这里得到几个答案后,我想强调一下我的问题。我绝对必须从输入中得到ASCII代码,无论是大写还是大写。没有硬编码字符比较或类似的东西。我正在寻找更通用的方法。

取消选择具有扩展选择模式的WPF列表框

我有一个带扩展选择模式的简单列表框。 选择工作几乎完全正常,就像它在资源管理器中工作。 但取消选择并没有真正发挥作用。 我想要的是当我点击列表框中元素范围之外的东西时,我希望取消选择所有元素。 默认情况下,我似乎没有这样做,我做了一个涉及selectionchanged和mouseup的黑客攻击来破解它。 但必须有更好的方法。 有任何想法吗?

发布时WPF RightClick MouseBinding?

如何启用鼠标绑定到右键的释放? 目前我在xaml中有以下代码,它与关闭wpf窗口有关。 这里的问题是,因为它在关闭窗口时对点击的加速作出反应,它激活桌面上的上下文菜单。

整个行上的WPF树视图项背景

我正在编写一个应用程序,我需要按项目在整行下设置背景。 我在这里找到了一些灵​​感,但我不知道如何在模板中获得边框背景值(问题有点复杂:) 我的问题是在树视图中有两种类型的“数据”(文件和文件夹)。 用户可以修改文件和文件夹下的背景。 现在我有文本块的背景,但它看起来很可怕,我想要整个行的背景(我认为它会看起来好多了)。 现在看来是这样的: 但我需要的是: 如果我更改边框背景的值,我会更改所有项目(逻辑上)。 所以我想我真的需要处理文本块背景,但我不能遍及整个行(拉伸不是一个解决方案,因为它只是将它扩展到行的末尾而不是之前的那个空白区域)。 谢谢你的建议。 编辑: XAML在这里: <!—-> <!—->

以适当的格式返回JSONP WCF

我正在尝试为jQuery输出正确包装的JSONP值以供使用。 我正在寻找的输出是: jsoncallback({“Status”: “OK”}) 但它的输出是: “jsoncallback({“Status”: “OK”})” 显然这不是正确的JSONP格式,因为jQuery请求无法处理响应。 我在C#中的OperationContract是: [OperationContract] [WebInvoke(Method = “GET”, ResponseFormat = WebMessageFormat.Json, UriTemplate = “returndata?s={s}”)] Stream EchoWithGet(string s); public string EchoWithGet(string s) { string json = @”jsoncallback({‘Status’:’OK’})”; Console.WriteLine(“Call Made: ” + s); return json; } 我已经尝试使用JSON.NET以及System.Web.Script命名空间来使用JavaScriptSerializer 。 但是没有什么对我有用,我真正想做的就是摆脱两个双引号。

在WPF中将Shape转换为可重用的几何体

我试图将System.Windows.Shapes.Shape对象转换为System.Windows.Media.Geometry对象。 使用Geometry对象,我将使用自定义图形控件多次渲染它,具体取决于一组数据点。 这要求Geometry对象的每个实例都有一个唯一的TranslateTransform对象。 现在,我正以两种不同的方式处理这个问题,但似乎都没有正常工作。 我的自定义控件使用以下代码来绘制几何: //Create an instance of the geometry the shape uses. Geometry geo = DataPointShape.RenderedGeometry.Clone(); //Apply transformation. TranslateTransform translation = new TranslateTransform(dataPoint.X, dataPoint.Y); geo.Transform = translation; //Create pen and draw geometry. Pen shapePen = new Pen(DataPointShape.Stroke, DataPointShape.StrokeThickness); dc.DrawGeometry(DataPointShape.Fill, shapePen, geo); 我还尝试了以下替代代码: //Create an instance of the geometry the shape uses. Geometry geo […]