草庐IT

c# - 动态添加多个按钮到 wpf 窗口?

我如何在C#中向一个窗口添加多个按钮?这是我需要做的...我从字典中获取多个用户值(在合理范围内,只有@5-6个值)。对于每个值,我需要创建一个按钮。现在,我如何命名按钮,而不是按钮内的文本?我如何为每个按钮定义“点击”方法(它们都不同)?如果我不再需要该按钮,该如何删除该按钮? 最佳答案 我会封装整个东西,通常命名按钮应该没有意义。像这样:publicclassSomeDataModel{publicstringContent{get;}publicICommandCommand{get;}publicSomeDataModel(

c# - WPF 中的 Windows 小工具 - 在激活 "Show desktop"时显示

我正在尝试使用WPF创建类似“小工具”的应用程序。目标是获得与普通Windows7小工具相同的行为:没有任务栏条目当您alt+tab窗口时不显示并不总是在最前面,应用程序可以在最前面执行“AeroPeek”时可见使用“显示桌面”/Windows+D时可见我已经能够完成前四个目标,但无法找到第五个问题的解决方案。我最接近的是使用HowdoyoudoAppBardocking(toscreenedge,likeWinAmp)inWPF?中的实用程序类,但这会将应用程序变成一个“工具栏”,从而将应用程序从屏幕上放置我的小工具GUI的部分中移除。我可以看到以前在Stackoverflow上提出

c# - WPF 从父级覆盖 IsEnabled

我只是在寻找一种在父控件具有IsEnabled=false时启用子控件的方法。到目前为止,我找到的所有答案都说这是不可能的-必须启用父控件并禁用子控件,但仍应启用的控件除外。但是,通过覆盖App.xaml.cs文件中IsEnabledProperty的元数据,我能够更改此默认行为:protectedoverridevoidOnStartup(StartupEventArgse){UIElement.IsEnabledProperty.OverrideMetadata(typeof(FrameworkElement),newUIPropertyMetadata(true,IsEnable

c# - .NET 4.5 中的代码契约 + 异步 : "The method or operation is not implemented"

在Windows7x64上的VS2012中使用CodeContracts1.4.51019.0时,我从ccrewrite收到以下编译错误:“方法或操作未实现."这似乎是由属性访问器的组合和使用缺少内部await的async方法引起的。复制步骤:创建一个启用“完整”运行时契约检查的新类库:namespaceCodeContractsAsyncBug{usingSystem.Threading.Tasks;publicclassService{//Offendingmethod!publicasyncTaskProcessAsync(Entityentity){varflag=entity

c# - 了解 WPF Dispatcher.BeginInvoke

我的印象是dispatcher会遵循优先级排队的操作并根据优先级执行操作或将操作添加到队列的顺序(如果优先级相同)直到我被告知WPFUI调度程序不是这种情况。有人告诉我,如果UI线程上的操作需要更长的持续时间,比如数据库读取UI调度程序简单地尝试执行队列中的下一组操作。我无法接受它,所以决定编写一个示例WPF应用程序,其中包含一个按钮和三个矩形,单击按钮时,矩形会填充不同的颜色。在代码隐藏中privatevoidOnFillColorsClick(objectsender,RoutedEventArgse){vardispatcher=Application.Current.MainW

c# - WPF UserControl 的服务器端渲染

我正在用C#/.Net4.5编写一个服务器端控制台应用程序,它获取一些数据并创建静态图表图像,这些图像被保存以供网络服务器显示。我主要使用此处描述的方法:http://lordzoltan.blogspot.com/2010/09/using-wpf-to-render-bitmaps.html但是,我添加了一个mainContainer.UpdateLayout();在Arrange()之后,以便数据绑定(bind)将更新并在渲染图像中可见,以及在它之前的Measure()永远......啊,我不会去那里。这是执行渲染的方法:voidRenderAndSave(UIElementta

c# - WPF C# - 从另一个线程更新进度条

我一直在尝试从在不同类中运行的其他线程更新进度条。为了解释我所做的,我认为图片会更好。我想更新//HERE点中的进度条:我尝试过使用代理,尝试过ReportProgress,我想我基本上尝试过使用谷歌在前100个结果中报告的所有内容,但没有成功。我仍在学习WPF,这可能是一种愚蠢的继续下去的方式,我正在寻找一种快速而肮脏的方式来完成工作,但请随时告诉我我应该重新设计什么以获得更干净的应用程序。编辑:更多代码。在ExecutorWindow.xaml.cs中:publicvoidRunExecutor(){//CREATEBACKGROUNDWORKERFOREXECUTORexecBa

C# WPF 附加属性 - 错误 : "The property does not exist in XML namespace"

我需要为现有的WPF控件(组框、文本框、复选框等)创建一个新属性,该属性将存储其访问级别,因此我找到了附加属性。我以这个网站为例http://dotnetbyexample.blogspot.com.br/2010/05/attached-dependency-properties-for.html一切都很好,但是当我尝试在某些控件上使用它时出现以下错误...Error1Theproperty'DependencyPropertiesHoster.AcessLevel'doesnotexistinXMLnamespace'clr-namespace:ImageGUI.App_Code;

c# - 在 .NET Core 1.1 csproj 中引用 .NET 4.5 dll?

我正在运行VS2017RC4。我在我的.NETCore应用程序中添加了一个对我的.NET4.5dll的引用,它编译了。当在运行时调用引用dll的行时,我得到:System.IO.FileNotFoundException:'Couldnotloadfileorassembly'System,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089'.Thesystemcannotfindthefilespecified.'此图显示要使用4.5引用,我需要使用netstandard1.1。https://msdnsha

c# - WPF ComboBox : static list of ComboBoxItems, 但数据绑定(bind) SelectedItem?

在我的WPF应用程序中,我有一个ComboBox,其中填充了ComboBoxItems的静态列表,因为它的内容永远不会改变。但是,因为我想将SelectedItem数据绑定(bind)到我的底层ViewModel,所以我希望每个ComboBoxItem也有一个单独的值,该值将分配给我的ViewModel属性。我在让它工作时遇到了一些麻烦。我的ComboBox声明如下:此ComboBox的SelectedItem绑定(bind)到ViewModel的Amount属性,该属性声明为整数:publicclassMyViewModel:INotifyPropertyChanged{privat