草庐IT

c# - WPF 从父级覆盖 IsEnabled

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

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# - 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

c# - 如何从用户的机器上获取有用的 WPF .NET 错误信息?

我有一个WPF应用程序,一旦我将它安装到没有安装开发环境的机器上就会崩溃——如果这是一个骗局,欢迎我关闭,但我的搜索功能找不到等价问题。看起来我得到了一个XamlParseException,但没有比这更有用的了。我需要获取有用的信息。浏览Windows7事件日志会给我这个错误日志:Faultbucket,type0EventName:CLR20r3Response:NotavailableCabId:0Problemsignature:P1:MyApp.exeP2:1.0.0.0P3:4b88323dP4:PresentationFrameworkP5:3.0.0.0P6:4a174

c# - WPF - 在滚动查看器中居中内容?

我有一个包含文本block项目堆栈面板的滚动查看器(实际上,这些可能是tabitem,我在滚动查看器中使用堆栈面板来覆盖选项卡控件模板中的默认选项卡面板)。我想做的是,当所选选项卡发生更改时,将新选择的选项卡移动到滚动查看器可见区域的中心。理想情况下,这适用于所有选项卡,即使是那些位于远端的选项卡,但我会满足于能够告诉滚动查看器滚动,以便特定元素尽可能接近居中。在WPF中有什么明显的方法可以实现这一点?我现在能想到的所有解决方案都涉及大量自定义控件的工作。 最佳答案 您可以使用以下代码轻松将内容设置到中心;scrollviewer.

c# - WPF 的跨平台替代品

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭1年前。Improvethisquestion所有,我正在考虑将我的应用程序从VB.net移植到基于C#的MONO项目,以便它可以在Windows和Mac上运行。但是,我需要一个Mac友好的WPF替代品。它必须具有非常相似的功能。QML(由QT开发)不是一个可行的选择,因为它对我们来说成本太高了。

c# - 在 WPF DataGrid 中按下 Enter 键时将焦点移至下一个单元格?

我想要一个自定义的DataGrid,它可以,在编辑模式下按下Enter键时移动到下一个单元格。当到达当前行的最后一列时,焦点应移动到下一行的第一个单元格。到达下一个单元格时,如果该单元格是可编辑的,它应该会自动变为可编辑。如果单元格包含ComboBox而不是comboboxcolumn,则组合框应该DropDownOpen。​​请帮帮我。从过去几天开始,我一直在尝试创建自定义DataGrid并在中编写一些代码protectedoverridevoidOnPreviewKeyDown(System.Windows.Input.KeyEventArgse)但是我失败了。