Tag: wpf

ManipulationBoundaryFeedback在wpf中的webbrowser中不起作用?

我正在使用ManipulationBoundaryFeedback来避免在触摸设备上拖动窗口,除了webbrowser有一个滚动条之外,所有其他控件都可以正常工作。 任何工作围绕这个

如何在WPF 4.5中为按钮单击事件创建MarkupExtenstion?

我想创建MarkupExtension以支持Button click事件。 我在这里有一篇关于PreviewKeyDown的文章。 我尝试将其修改为Click但无法执行此操作,因为它会抛出exception 请建议如何实现这一点。

如何在不更改viewmodel的属性getter的情况下格式化XAML中的字符串?

我在我的应用程序中有以下界面: public interface IContactMedium { string ContactString { get; set; } string Type { get; set;} bool IsValid(); } 此接口用于表示某人的某种联系的对象。 它可以是电话,电子邮件等ContactString属性是实际的联系人数据(例如,对于电话,它将是电话号码),并且Type用于区分,以防一个人有多个(用于手机,一个人可以拥有家庭电话,工作电话,手机等。) IsValid方法是每种不同类型的接触媒体的validation机制。 所以,假设我的应用程序中有两个对象 – Email和Phone – 都实现了界面。 我将在应用程序中创建一个UserControl ,它包含一个管理此类对象列表的UI。 所以viewmodel看起来像这样: public class ContactsCollectionViewModel : ViewModelBase where T : class, IContactMedium { private ObservableCollection _itemsCollection; public ContactCollectionViewModel(ObservableCollection items) { ItemsCollection = items; } public ObservableCollection ItemsCollection […]

从事件日志获取事件的详细信息

我试图根据列表框中项目的选择从事件日志中获取详细信息。 我试图将细节放入文本框中。 我已经成功地找到了自己的解决方案。 我所做的,并且非常慢,通过事件日志重复并找到与日志索引的匹配,然后显示消息,但这是一个耗时的操作。 是否有更快的方法可以根据日志索引直接获取特定的日志条目。 我使用WPF和C#。 private void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e) { EventLog eventLog1 = new EventLog(); eventLog1.Log = “System”; foreach (System.Diagnostics.EventLogEntry entry in eventLog1.Entries) { var newEntry = entry.Index + ” – ” + entry.EntryType + ” – ” + entry.TimeWritten + ” – ” + entry.Source; backgroundWorker2.ReportProgress(0, newEntry); } } void backgroundWorker2_ProgressChanged(object […]

如何从BackgroundWorker线程中更新标签?

当我使用WinForms时,我会在我的bg_DoWork方法中完成此bg_DoWork : status.Invoke(new Action(() => { status.Content = e.ToString(); })); status.Invoke(new Action(() => { status.Refresh(); })); 但是在我的WPF应用程序中,我收到一条错误,指出Label不存在Invoke 。 任何帮助,将不胜感激。

Multiselect Combobox w / Flags Enum

我希望有人可以帮我解决这个问题。 我以前曾问过类似的问题,但当时我没有开始做任何事情。 我找到了SO问题链接 这与我的问题类似,但它有一个问题。 combobox不显示所选的枚举。 我在我的示例应用程序中的链接中进行了示例,但我不知道如何获取Combobox的文本以显示当前选定的项目。 有人建议怎么办? 我真的坚持这个。 这是我目前的combobox: 我的转换器是: public class WeldingProcessFlagValueConverter : IValueConverter { private WeldingProcess target; public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { WeldingProcess mask = (WeldingProcess)parameter; this.target = (WeldingProcess)value; return ((mask & this.target) != 0); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { […]

无法使用pack URI设置ImageSource

我正在尝试使用包uri设置图像源,如下所示: 使用这样的Resources.resx文件: 像这样的图像: 但我得到的错误是这样的: 我也试过这个: 打包URI和路径不解析WPF中的图像 还有这个: 在设计时包uri是有效的,但不是在运行时? 还有这个: Resources in WPF – I (Binary Resources) 虽然仍然得到与上面相同的错误。 有人,因为对宙斯的爱,将我从这种卑鄙,令人沮丧的垃圾中解放出来,我将以赞美和积分回报我。

WPF MVVMLight:基于另一个DataGrid的SelectedItem更新DataGrid

使用MVVMLight开发WPF应用程序。 我的Model由一个Attribute类和一个DataSet类组成,其中一个名为Attributes的ObservableCollection Attributes 。 我的MainViewModel有一个DataSet属性。 在我的MainView ,它的DataContext设置为MainViewModel我有两个DataGrids 。 一个有它的ItemsSource绑定到DataSet.Attributes工作正常: //some DataGrid columns here 我希望第二个DataGrid基于第一个DataGrid的SelectedItem显示一些其他属性,所以我做了以下内容: 1)在MainViewModel添加了Attribute类型的SelectedAttribute属性: private Attribute selectedAttribute; public Attribute SelectedAttribute { get { return selectedAttribute; } set { if (selectedAttribute == value) { return; } selectedAttribute = value; RaisePropertyChanged(() => SelectedAttribute); } } 2)修改了我的第一个DataGrid ,将其SelectedItem绑定到SelectedAttribute : 3) Update 1将第二个DataGrid的ItemsSource设置为SelectedAttribute并创建一个绑定到SelectedAttribute的Categories属性的列,它是ObservableCollection : 4)在我的MainViewModel ,一旦填充了DataSet.Attributes ,我将SelectedAttribute设置为集合中的第一个Attribute (就像测试一样): […]

WPF Flowdocument“更改案例”function

我正在为我的RichTextBox实现一个“更改案例”function,例如word with Shift + F3。 所有这一切都是在lower-> upper-> title case之间切换,一旦我访问了我需要的字符串,这非常简单。 我的问题是,如何在flowdocument中更改(并首先找到它)一个字符串,而不会丢失任何可能包含在字符串中的嵌入元素(丢失格式不是问题)。 与单词相同,我需要此function2个案例: 1)鼠标选择的文本。 我试过简单 this.Selection.Text = newText; 但那当然失去了我的嵌入元素。 2)插入位置之前的最后一个字。 任何非文本元素都是单词分隔符,但也可以是一个单词 “Hello”.

在窗口范围内保持弹出窗口

我正在尝试在按钮下显示弹出窗口。 这就是现在的样子: 但我希望它保持在窗口边界内,就像这样(油漆中的例子) 这是我在顶部声明弹出窗口的顶部栏: