Tag: wpf

工具提示文化是错误的

我在xaml: 这里是截图(使用放大镜): 我的问题是这里发生了什么? 为什么工具提示显示不同的值(小数点是.虽然,是预期的)? 更长的故事: 我试图以与用户Windows数字格式首选项相同的格式显示数字。 为此,我在显示窗口之前覆盖了语言(覆盖App.OnStartup): FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag))); 并使用以下自定义绑定(默认情况下设置转换器文化) public class Bind : Binding { public Bind(string path) : base(path) { ConverterCulture = CultureInfo.CurrentCulture; } } 它适用于TextBox Text属性,但它不适用于ToolTip 。 要真正看到我在屏幕截图中显示的内容: go(Windows 7) Control Panel/Region and Language/Formats并将Control Panel/Region and Language/Formats设置为English (United States) go Additional settings/Numbers并更改Decimal symbol . 到, 创建新的wpf应用程序,复制xaml,添加语言覆盖,添加转换器和设置: public partial class MainWindow : […]

WPF:validation确认密码

我有2个PasswordBoxes。 我需要检查密码是否相等。 我不想将这个条件写入[] .xaml.cs代码,但我想在密码不相等时将PasswordBox标记为红色。 我应该编写特殊的ValidationRule,ViewModel中的一些代码还是别的什么? 谁能帮我? 现在validation写在[] .xaml.cs中,但我想避免它。

WPF ListView键盘导航问题

我有这样的列表视图 列表显示: ——— 芒果 橙子 葡萄 葡萄 葡萄 苹果 草莓 每当我使用downarrow进行导航时,BlueHighlight会在第一个Grapes处停顿,一个虚线的矩形从第二个葡萄开始,然后停留在第三个葡萄,然后BlueHighlight从Apple恢复。 这似乎很奇怪,当导航向上时,它变得更加奇怪。 它从Apple跳到Orange或芒果。 这是由于虚拟化吗? 似乎只有重复数据(葡萄)才会产生问题。 任何帮助?

如何使用MVVM在combobox中设置默认文本

我使用MVVM模式绑定WPF中的combobox。 我能够使用combobox绑定字符串列表,但我不知道如何在combobox中设置默认值。 好吧,我有一个名字列表,其中包含“A”,“B”,“C”和“D”。 现在我希望默认情况下“A”应该作为默认值。 谢谢 public class NameViewModel { private IList _nameList = new List(); public IList Names { get; set; } public NameViewModel() { Names = GetAllNames(); } private IList GetAllNames() { IList names = new List(); names.Add(“A”); names.Add(“B”); names.Add(“C”); names.Add(“D”); return names; } }

如何通过FindWindow api调用在C#中开发的窗口

我是C#和xaml代码的新手。 我有一个用C#实现的示例代码。 当我查看xaml文件时,我得到了 。 test.MainWindow表示此窗口的类名。 我试图从win 32中开发的其他应用程序调用此窗口。我试图将此类名称传递给FindWindow(“test.MainWindow”,NULL) ,但它失败了。 在那边做了什么。 如何更改C#中开发的窗口的类名? 谢谢, 萨加尔

将按钮控件嵌入到现有的Direct3D应用程序中

我想在Direct3D v9游戏(由第三方制作)上面叠加自己的内容。 叠加交互式按钮 具体来说,我想覆盖一个可点击的按钮控件,比如Steam,例如,虽然我正在尝试一个更简单的界面。 理想情况下,我可以覆盖WPF按钮或Windows窗体按钮或整个UserControl,但如果不可能,那么从基元创建一个function按钮就足够了。 文本叠加使用SharpDX 我有一个基于Justin Stenning工作重叠文本的工作样本 即在SharpDX.Direct3D9.Font DrawText方法的帮助下 如何使用SharpDX覆盖Button或UserControl 我查看了https://github.com/sharpdx/SharpDX-Samples中的相关示例,但无法找到使用SharpDX包含或绘制本机控件的方法 可能吗? 如果没有,是否有从头开始绘制可点击按钮的样本? 请记住我是DirectX世界的新手:)

tabControl / tabitem刷新困难

我有一个带有maintabWindow的WPF窗口和几个tabitems。 它通常工作正常,布局是这样的: 但是当我在添加以下窗口时: 结果是这样的: 所以问题与tabControl / tabItem刷新有关。 这是相当明显的,但更多的是因为如果我移动窗口或使用鼠标在tabItem上传递它们会逐个刷新。 我搜索并发现这是一个解决方案: http : //geekswithblogs.net/NewThingsILearned/archive/2008/08/25/refresh–update-wpf-controls.aspx 所以我补充说: this.MainTab.Refresh(); this.tabItem1.Refresh(); this.tabItem2.Refresh(); this.tabItem3.Refresh(); this.tabItem4.Refresh(); this.tabItem5.Refresh(); 但这并没有改变一件事。 Thanx任何帮助

在使用ItemsSource和帮助使用combobox之前,WPF Items集合必须为空

我的XAML是这样的,它看起来像这样: http://puu.sh/aLLrx.png http://puu.sh/aLLsQ.jpg 我的代码是: public partial class MainWindow : Window { Character aloken; Character azureKnight; Character bagiWarrior; Character incarMagician; Character segitaHunter; Character segnale; Character viciousSummoner; private List _charList = new List(); public MainWindow() { InitializeComponent(); charList.Add(new Character(“Bagi Warrior”)); this.Item = new ObservableCollection(); this.Character = new ObservableCollection(); this.DataContext = this; //Character.Add(new Character(name: “Bagi Warrior”, level: 197, […]

在后台使用非托管库时无法更新WPF GUI

尝试使用Emgu从网络摄像头捕获图像时,我遇到了一个问题。 为了完成这项任务,Emgu使用非托管opencv库。 所以问题是我无法从System.Timers.Timer Elapsed事件更新我的GUI(WPF图像控件)。 我知道它在不同的线程中运行,但是,嘿,这就是我使用Dispatcher的原因。 这是我第一次无法使用Dispatcher。 获取InvalidOperationException,“调用线程无法访问此对象,因为另一个线程拥有它。”。 我花了一整天时间寻找解决方案,但仍无法解决问题。 任何想法为什么会发生? webcam.OnNewFrame += newBitmapSource => this.imgCaptured.Dispatcher.Invoke ( new Action(delegate { this.imgCaptured.Source = newBitmapSource; }), DispatcherPriority.Background ); Stack Trace的最后一件事是:System.Windows.Threading.Dispatcher.VerifyAccess() 但是,如果我调用Dispatcher.CheckAccess(),则返回true。 更新: 最后我自己发现了:必须在UI Thread上创建BitmapSource。 似乎它不能使用此对象。

WindowChrome否定ResizeBorderThickness(从外部resize)

我想模拟ResizeBorderThickness的行为,但允许用户在窗口外6个像素而不是内部时调整窗口大小。 这就是VisualStudioresize的工作原理,我更喜欢它的默认resizefunction(窗口内部为6像素)。 我尝试使用负厚度,但如此处所述,这是不允许的。 唯一的选择是在窗口周围有一个6像素的隐形边框,这样看起来你就像在窗外? 我要这个: