Tag: wpf

如何从WPF中的图像源释放图像

我正在加载图像如下 XAML 代码隐藏 if (Path.GetFileNameWithoutExtension(filePath).ToLower().Contains(slugName.ToLower() + “_70x70”)) { imgThumbnail.BeginInit(); imgThumbnail.Stretch = Stretch.UniformToFill; imgThumbnail.Source = new BitmapImage(new Uri(filePath)); imgThumbnail.EndInit(); count = count + 1; } 上面的代码工作正常,现在我的缩略图旁边有一个删除按钮,如果删除按钮,我想删除源位置的所有图像。 这是删除图像文件的代码 internal int Remove(string slugName, DirectoryInfo outputFolder) { Helper.MetadataView.imgThumbnail.Source = null; foreach (string filePath_ToBeDeleted in filePathList_ToBeDeleted) { if (File.Exists(filePath_ToBeDeleted)) { Helper.MetadataView.imgThumbnail.IsEnabled = false; File.Delete(filePath_ToBeDeleted); count += 1; } } return […]

自动高度与MaxHeight结合使用

我在设置以下xaml布局时遇到问题: RowHeightAuto.xaml DataGrid1控件未显示任何定义了大量列和行的滚动条。 当我用高度=“*”替换高度=“自动”时,一切都有效,而水平和垂直滚动条看起来像预期的那样。 当我直接在DataGrid1声明MaxHeight时它也可以工作,但这并不是我想要的。 这是一个错误,childcontrol在设置Height =“Auto”时忽略了最大高度,还是我可能做错了? 使用ListBox / ListView等可以重现相同的行为,也可以使用ComponentOne,Telerik等第三方控件… 如果这是一个错误 – 你知道一个解决方法或有其他提示吗? 以下是我如何设置DataGrid的ItemsSource的代码。 RowHeightAuto.xaml.cs public partial class RowHeightAuto : Window { private readonly DateTime _start; public RowHeightAuto() { InitializeComponent(); DataGrid1.ItemsSource = GetTestData(); _start = DateTime.Now; Dispatcher.BeginInvoke(new Action(() => MessageBox.Show((DateTime.Now – _start).TotalSeconds.ToString(CultureInfo.InvariantCulture))), DispatcherPriority.ContextIdle, null); } public static List GetTestData() { const int maxCols = 501; […]

WPF Datagrid列格式用于包含逗号的数字

我认为这将是相当简单的,可能是但我在谷歌上找不到任何东西。 我有一个WPF应用程序,其数据网格绑定到我的对象,其中包含bool,string和int类型的属性。 显示int我想显示30,000而不是30000.这是怎么回事? 任何帮助都会很棒,谢谢,M

XAML Designer未显示

在MS Visual Studio Express 2013 for Windows桌面中: 我正在学习C#并按照示例说明如何在.xaml文件中创建用户界面。 https://msdn.microsoft.com/en-us/library/jj153219.aspx 从教程(见图7和图8)看,应该有一些窗口显示GUI。 但是,当我尝试在解决方案资源管理器中打开.xaml文件时,查看代码(Ctrl + Alt + 0)和视图设计器(Shift + F7)都呈现相同的内容:只是代码。 如何打开GUI框? 更新 – 这是.xaml文件内容。 注意:我正在尝试打开一个新的C#WPF应用程序。 这是Visual Studio生成的股票代码。 没有XAML UI Designer选项: 没有完整的XAML视图设置: 谢谢! 这是我下载的Visual Studio版本。 该描述使我相信应该安装XAML UI Designer,这应该不是问题。 适用于Windows桌面的Express 2013 Visual Studio Express for Windows Desktop使您可以充分利用Windows与XAML设计器,高效的IDE以及各种编程语言(包括C#,Visual Basic和C ++)。 在Windows Presentation Foundation(WPF),Windows Forms和Win32之间进行选择,以针对您的应用程序和技能使用正确的技术来定位Windows桌面。

System.Windows.MessageBox vs System.Windows.Forms.MessageBox

我无法找出两个消息框之间的主要区别。 System.Windows.MessageBox和System.Windows.Forms.MessageBox什么区别?

在进入poof之前,System.Windows.MessageBox不等待用户输入!

……这没有任何意义。 TT 在我的Application_Startup事件处理程序中,我的代码看起来有点像这样: private void Application_Startup(object sender, StartupEventArgs e) { string errorMessage; if(CheckStartUpConditions(out errorMessage)) { (new MainWindow()).Show(); } else { MessageBox.Show(errorMessage, “Application Startup”, MessageBoxButton.OK, MessageBoxImage.Error); Shutdown(); } } private bool CheckStartUpConditions(out string errorMessage) { errorMessage = string.Empty; if(…) errorMessage += “Please login to xxx. “; if(…) errorMessage += “Please install xxx.”; if(string.IsNullOrEmpty(errorMessage)) return true; else […]

ToggleButton根据状态更改图像

我想以下列方式使用ToggleButton:有5个不同的图像,每个图像应根据当前状态显示: 按钮已禁用 按钮启用,未选中 按钮启用,未选中,由鼠标光标指向 按钮启用,检查 按钮启用,检查,鼠标光标指向 我在这里找到了一个带有两个图像的简单示例,但是如何根据“已检查”属性更改图像? 第二个问题:如何避免为我的应用程序中的每个按钮创建不同的样式? 我使用了大约20个不同的按钮,每个按钮都有不同的图标。 到目前为止,我只在我的代码下面使用了一个图标。 是否可以使用公共代码(样式和模板)并在我想要创建按钮的部分中定义图像源(如我的代码的第3部分)?

类型引用找不到名为的公共类型

我收到错误,如“类型引用无法在xaml中找到名为’Sign’的公共类型”。 我怎么解决它。 Sign类位于同一个程序集中。 …

当我添加新行时,如何将RichTextBox滚动到末尾?

我有几个只读的RichTextBox用于记录输出。 因为它们是只读的,所以当文本更新时它们似乎不会自动滚动。 我可以使用TextChanged事件强制滚动结束,但是不是简单的方法在XAML中设置属性或其他东西,以便滚动像正常一样发生吗?

找不到绑定源

当我添加新选项卡然后将其删除时,我的应用程序将抛出此错误消息: System.Windows.Data Error: 4 : Cannot find source for binding with reference ‘RelativeSource FindAncestor, AncestorType=’System.Windows.Controls.TabControl’, AncestorLevel=’1”. BindingExpression:Path=TabStripPlacement; DataItem=null; target element is ‘TabItem’ (Name=”); target property is ‘NoTarget’ (type ‘Object’) 如果我添加了一个新选项卡,切换到另一个选项卡,切换回来然后删除它,它没有抱怨。 看起来像是在切换过程中“更新”的东西,但我无法弄清楚是什么以及如何修复它们。 这是我的xaml文件: 这是我添加/删除标签的代码: public void AddNewTab() { NewCourseName ncn = new NewCourseName(); ncn.Owner = mainWindow; ncn.ShowDialog(); if (ncn.courseName != null) { MyHomeworkModel newTab = new […]