草庐IT

c# - 计算点击点的角度

我正在制作一个WPF控件(旋钮)。我正在尝试根据圆内的鼠标单击位置计算出计算角度(0到360)的数学方法。例如,如果我单击图像上X、Y所在的位置,我将得到一个点X、Y。我也有中心点,但不知道如何获得角度。我的代码如下:internaldoubleGetAngleFromPoint(Pointpoint,PointcenterPoint){doubledy=(point.Y-centerPoint.Y);doubledx=(point.X-centerPoint.X);doubletheta=Math.Atan2(dy,dx);doubleangle=(theta*180)/Math.P

c# - 从任何线程捕获未处理的异常

编辑这个问题的答案有帮助谢谢我很感激你的帮助:)但我最终使用了:http://code.msdn.microsoft.com/windowsdesktop/Handling-Unhandled-47492d0b#content原始问题:我想在我的应用程序崩溃时显示一条错误消息。目前我有:App.xaml:App.xaml的代码隐藏:namespaceWpfApplication5{publicpartialclassApp:Application{privatevoidApp_DispatcherUnhandledException(objectsender,DispatcherUnh

c# - 使用图像+文本样式化 WPF 按钮

在我的C#/WPF/.NET4.5应用程序中,我有带图像的按钮,这些按钮是我按以下方式实现的:save我有一个资源字典UIStyles.xaml,我在其中声明了以下内容:光标、高度、边框等属性工作正常,但我无法设置TextBlock和Image的样式。具体来说,需要看起来像这样:最终看起来像这样(忽略色差):我看过similarquestions之前问过,但解决方案使用了不同的方法(我不想创建自定义用户控件,除了这个之外我的所有需求都包含在当前代码中,重写会很麻烦)。我只需要修复我的Style,使TextBlock居中,Image居中并变小。如何重写Style以更正按钮的外观?

c# - 使用 ItemsSource 时添加额外的项目

在我正在构建的项目中,我有一个TabControl,我想在其中通过ItemsSource显示一系列选项卡。我还需要在TabControl的开头有几个“概览”选项卡,它们不能位于ItemsSource中。实现此目的的最佳方法是什么,我能想到的唯一方法是在我的XAML中包含我的概览选项卡,并通过代码手动添加选项卡项而不是使用ItemSource是这样的最好的办法。 最佳答案 您可以使用CompositeCollection(MSDN)来完成此操作:SpecialItem 关于c#-使用Ite

c# - DataGrid 列具有不同的色调

我有一个WPFDataGrid,我希望某些列具有不同的颜色。我找到了关于硬设置背景的帖子,但我想要更平滑的东西。它应该适合鼠标悬停和选择操作,并相应地着色,但色调不同。我想让“默认”列、重要列和“只读”列的区别可视化。类似于上面的内容。不同颜色的列,但如果选择行,颜色仍会稍微改变。但是如何呢? 最佳答案 一种解决方案是在自动生成列时设置正确的CellStyle。在下面的Xaml中,我为DataGridCell的默认状态提供了一种样式,它响应鼠标悬停、焦点、选择等。其他状态(例如读取-only,extended,...)可以用相同的方

c# - WPF:无法在属性元素怪异上设置属性

privateTextBlock_caption=newTextBlock();publicTextBlockCaption{get{return_caption;}set{_caption=value;}}给我以下错误:无法在属性元素上设置属性。如果我使用:我的TextBlock显示正常,但它像这样嵌套在另一个TextBlock中,它甚至似乎将自己添加到Caption属性之外:您可能已经猜到,如果可能的话,我希望我的代码在自定义面板上通过XAML设置我的标题属性。我也尝试过使用DependencyProperty的相同代码,但无济于事。那么,有人可以帮我解决这个问题吗?

c# - 图像大小调整性能 : System. 绘图与 System.Windows.Media

我遇到了需要调整大量图像大小的情况。这些图像目前在文件系统上存储为.jpg文件,但我希望稍后在项目的内存中只有byte[]。源图像大小是可变的,但输出应该是3种不同的预定大小。应保留纵横比,用空白填充原始图像(即,一个非常高的图像将调整大小以适应方形目标图像大小,左侧和右侧有大面积的白色)。我最初构建了针对.NET2.0的项目,并使用System.Drawing类来执行加载/调整大小/保存。相关代码包括:original=Image.FromFile(inputFile);//NOTE:Reusedforeachofthe3targetsizesBitmapresized=newBit

c# - Binding 没有 Clone 方法,复制它的有效方法是什么

我想复制一个绑定(bind),这样我就可以在不影响原始绑定(bind)的情况下为其设置不同的源属性。这只是将新绑定(bind)的所有属性设置为与旧绑定(bind)相同的情况吗? 最佳答案 这是我对问题的解决方案:publicstaticBindingBaseCloneBinding(BindingBasebindingBase,objectsource){varbinding=bindingBaseasBinding;if(binding!=null){varresult=newBinding{Source=source,Async

c# - 在 WPF 中以编程方式将用户控件/页面添加到 Windows xaml

我想在Window1.xaml(主窗口)中以编程方式在我的两个用户控件AddUsers.xaml(用户控件)和Viewusers.xaml(用户控件)之间切换。我正在尝试通过Window1.xaml中的按钮事件切换用户控件。我的窗口1。xaml是这样的我有两个用户控件addUser.xaml和viewUser.xaml添加用户。xaml代码:和我的第二个用户控件viewUser.xaml 最佳答案 首先你需要给你的堆栈面板一个名字然后你需要类似于的东西publicpartialclassMainWindow:Window{priva

c# - 绑定(bind)数据网格列宽

我有两个数据网格,每个数据网格一列。第一:第二个:将第一列的宽度绑定(bind)到第二列的宽度不起作用。如果我以这种方式在代码中这样做:FilterTextCol01.Width=TextCol01.ActualWidth;它有效。谁能告诉我为什么第一种方法不起作用? 最佳答案 因为DataGrid列是抽象对象,它们不会出现在窗口的逻辑树或可视树中。您不能使用ElementName在它们上绑定(bind)属性(这些绑定(bind)不需要名称范围)。您可以尝试使用Source和x:Reference相反,例如{BindingSourc