草庐IT

c# - 如何在 wpf 的分层数据模板中显示 TreeView 项的上下文菜单

如何使用分层数据模板在wpf中显示TreeView项的上下文菜单?如何仅为CountryTemplate显示上下文菜单: 最佳答案 您还可以将ContextMenu添加到数据模板中的任何可视子项,例如: 关于c#-如何在wpf的分层数据模板中显示TreeView项的上下文菜单,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/13420994/

c# - 如何获取存储在资源中的图像的 Uri

我有两个.png文件添加到我的资源中,我需要在进行绑定(bind)时访问它们的Uri。我的xaml代码如下:并且使用ImagePath的绑定(bind)代码是:ImagePath=resultInBinary.StartsWith("1")?Properties.Resources.LedGreen:Properties.Resources.ledRed;不过Properties.Resources.LedGreen返回一个Bitmap而不是包含该特定图像的Uri的String。我只想知道如何提取该值,而无需在存储的目录中寻址图像的路径。(老实说,我不确定这样做是否正确,因为我在网上找

c# - WPF 工具提示不更新

假设我有一个代表员工的简单类classStaff{publicstringFirstName{get;set;}publicstringFamilyName{get;set;}publicintSecondsAlive{get;set;}}我有一个员工数据模板然后我在ListBox中显示一大堆员工myListBox.ItemsSource=GetAllStaff();非常标准的东西。我遇到的问题是显示某人存活的秒数的工具提示没有得到更新。当您第一次将鼠标悬停在一名工作人员身上时,它可以正常工作,但从那时起,它就会永远保持该值。我可以实现INotifyPropertyChanged来解决

c# - 绑定(bind)到内部属性?

我正在使用MVVM尝试一些不同的事情。在我们的ViewModel中,绑定(bind)到View的属性是公开的。我以按钮绑定(bind)为例。这是一个简单的示例。查看.xaml:ViewModel.csprivateICommand_testButtonCommand;publicICommandTestButtonCommand{get{return_testButtonCommand??(_testButtonCommand=newRelayCommand(SomeMethod));}}我的问题是,我们可以将TestButtonCommand设为内部而不是公共(public)吗?内部

c# - 如何不丢失绑定(bind)源更新?

假设我有一个带有文本框和确定/取消按钮的模式对话框。它建立在MVVM之上——即它有一个ViewModel对象,该对象具有文本框绑定(bind)到的字符串属性。例如,我在文本框中输入了一些文本,然后捕获我的鼠标并单击“确定”。一切正常:在单击时,文本框失去焦点,这导致绑定(bind)引擎更新ViewModel的属性。我得到了我的数据,大家都很高兴。现在假设我不使用我的鼠标。相反,我只是按键盘上的Enter。这也会导致“确定”按钮“单击”,因为它被标记为IsDefault="True"。但猜猜怎么了?在这种情况下,文本框不会失去焦点,因此,绑定(bind)引擎仍然天真无知,我没有得到我的数

c# - 如果源绑定(bind)适用,如何访问快速访问工具栏命令 `Add to Quick Access Tool`

如果我已经为它绑定(bind)了集合,我该如何添加RibbonLibrary默认的快速访问项容器。当我从UI添加快速访问工具项时,它会抛出OperationisnotvalidwhileItemSourceisinuseinuse。ObservableCollection_MenuItems;ObservableCollection_QuickMenuItems;publicObservableCollectionMenuItems{get{return_MenuItems;}}publicObservableCollectionQuickMenuItems{get{return_Qu

c# - 警告 : Assembly binding logging is turned OFF

我遇到了这个错误,WRN:AssemblybindingloggingisturnedOFF.Toenableassemblybindfailurelogging,settheregistryvalue[HKLM\Software\Microsoft\Fusion!EnableLog](DWORD)to1.Note:Thereissomeperformancepenaltyassociatedwithassemblybindfailurelogging.Toturnthisfeatureoff,removetheregistryvalue[HKLM\Software\Microsoft

c# - 什么时候调用 ConvertBack 方法?

我知道当要显示数据时,会调用Convert()方法对数据进行转换,然后显示转换后的数据。我想知道ConvertBack()方法何时被调用?它的目的是什么?我有一个DataGrid,它的ItemSource绑定(bind)到某个集合,并且我已经为收藏。当我创建IsReadOnly="True"(在DataGrid中)时,如果我双击单元格(对于IValueConverter实现)然后改变焦点。但是当我创建IsReadOnly="False"时,无论我对DataGrid及其单元格做什么,都不会调用ConvertBack方法。请解释DataGrid单元格的这种行为和IValueConverte

c# - 绑定(bind) List<string> 到 ComboBox

我希望从我的列表中获取我的组合框项目名称和值当然,我不希望我的View模型包含组合框项目列表。我得到了一个列表a,b,c,d我希望我的组合框有项目我的View模型得到了publicListPropsList{get;set;}我的观点得到了它给了我与PropsList组合:( 最佳答案 Nahum你将不得不使用ItemsSource="{BindingPropsList}",假设PropsList是你代码背后的一个依赖属性,或者更好的是,你的数据上下文中的一个属性实现了INotifyPropertyChanged。在您的情况下,您必

c# - WPF:将列表绑定(bind)到列表框

我有一个类:publicclassA:INotifyPropertyChanged{publicListbList{get;set;}publicvoidAddB(Bb){bList.Add(b);NotifyPropertyChanged("bList");}publiceventPropertyChangedEventHandlerPropertyChanged;privatevoidNotifyPropertyChanged(stringinfo){if(PropertyChanged!=null){PropertyChanged(this,newPropertyChangedE