草庐IT

WPF-Window

全部标签

c# - .NET WPF 记住 session 之间的窗口大小

基本上,当用户调整我的应用程序窗口大小时,我希望应用程序在再次重新打开时保持相同大小。起初我想处理SizeChanged事件并保存高度和宽度,但我认为必须有更简单的解决方案。非常简单的问题,但我找不到简单的解决方案。 最佳答案 将值保存在user.config文件中。您需要在设置文件中创建值-它应该位于Properties文件夹中。创建五个值:Top类型doubleLeft类型doubleHeight类型double宽度doubleMaximized类型bool-保存窗口是否最大化。如果您想存储更多信息,则需要不同的类型或结构。将前

c# - 如何使用 NAMED 内容创建 WPF UserControl

我有一组带有附加命令和逻辑的控件,它们经常以相同的方式重复使用。我决定创建一个包含所有通用控件和逻辑的用户控件。但是我还需要控件能够保存可以命名的内容。我尝试了以下方法:areusedbuttonareusedbutton但是似乎无法命名放置在用户控件中的任何内容。例如,如果我按以下方式使用控件:content我收到以下错误:CannotsetNameattributevalue'buttonName'onelement'Button'.'Button'isunderthescopeofelement'UserControl1',whichalreadyhadanameregister

c# - 如何使用 NAMED 内容创建 WPF UserControl

我有一组带有附加命令和逻辑的控件,它们经常以相同的方式重复使用。我决定创建一个包含所有通用控件和逻辑的用户控件。但是我还需要控件能够保存可以命名的内容。我尝试了以下方法:areusedbuttonareusedbutton但是似乎无法命名放置在用户控件中的任何内容。例如,如果我按以下方式使用控件:content我收到以下错误:CannotsetNameattributevalue'buttonName'onelement'Button'.'Button'isunderthescopeofelement'UserControl1',whichalreadyhadanameregister

c# - 如何将 DockStyle.Fill 用于 WPF 中的标准控件?

我在Windows窗体中使用过,我创建了一个面板,在其中放置控件并为它们提供DockStyle.Fill以将它们的大小最大化到周围的面板。在WPF中我想要相同的。我有一个TabControl,我希望它的大小能够尽可能多地填充表单。我有一个功能区控件(RibbonControlsLibrary),并希望用最大尺寸的TabControl填充表单的其余部分。(我不想像VisualStudio中的停靠那样停靠控件,只是旧的停靠机制) 最佳答案 WinForms的DockStyle.Fill的WPF等价物是:HorizontalAlignme

c# - 如何将 DockStyle.Fill 用于 WPF 中的标准控件?

我在Windows窗体中使用过,我创建了一个面板,在其中放置控件并为它们提供DockStyle.Fill以将它们的大小最大化到周围的面板。在WPF中我想要相同的。我有一个TabControl,我希望它的大小能够尽可能多地填充表单。我有一个功能区控件(RibbonControlsLibrary),并希望用最大尺寸的TabControl填充表单的其余部分。(我不想像VisualStudio中的停靠那样停靠控件,只是旧的停靠机制) 最佳答案 WinForms的DockStyle.Fill的WPF等价物是:HorizontalAlignme

c# - 代码中的 WPF 自动高度

如何在C#代码中将WPF控件的Height属性的值设置为“Auto”?我想在后面的代码中重现此行为。有什么想法吗? 最佳答案 也许thislink会帮助你。Attimes,youmaywanttoprogrammaticallysettheHeightorWidthofaWPFelementtoAutoincode.Todothis,justusetheDouble.NaN(NotaNumber)value.Forexample,inC#:this.txtName.Width=Double.NaN;

c# - 代码中的 WPF 自动高度

如何在C#代码中将WPF控件的Height属性的值设置为“Auto”?我想在后面的代码中重现此行为。有什么想法吗? 最佳答案 也许thislink会帮助你。Attimes,youmaywanttoprogrammaticallysettheHeightorWidthofaWPFelementtoAutoincode.Todothis,justusetheDouble.NaN(NotaNumber)value.Forexample,inC#:this.txtName.Width=Double.NaN;

c# - 如何将新行放入 wpf TextBlock 控件中?

我正在从一个XML文件中获取文本,我想插入一些被文本block渲染解释为新行的新行。我试过:Foobarbaz\nbazbar但是没有新行,数据仍然显示。我设置了的内容通过.Text通过C#的属性。我需要在XML中放入什么才能在GUI中呈现新行?我试过类似这样的方法,在XAML中手动设置文本:There isanewline.虽然编码字符没有出现在GUI中,但它也没有给我换行。 最佳答案 您可以尝试在数据中添加一行:Foobarbazbazbar如果这不起作用,您可能需要手动解析字符串。如果您需要直接的XAML,那很简单:L

c# - 如何将新行放入 wpf TextBlock 控件中?

我正在从一个XML文件中获取文本,我想插入一些被文本block渲染解释为新行的新行。我试过:Foobarbaz\nbazbar但是没有新行,数据仍然显示。我设置了的内容通过.Text通过C#的属性。我需要在XML中放入什么才能在GUI中呈现新行?我试过类似这样的方法,在XAML中手动设置文本:There isanewline.虽然编码字符没有出现在GUI中,但它也没有给我换行。 最佳答案 您可以尝试在数据中添加一行:Foobarbazbazbar如果这不起作用,您可能需要手动解析字符串。如果您需要直接的XAML,那很简单:L

c# - 如何使 WPF 组合框具有其在 XAML 中最宽元素的宽度?

我知道如何在代码中执行此操作,但这可以在XAML中完成吗?Window1.xaml:ComboBoxItem1ComboBoxItem2Window1.xaml.cs:usingSystem.Windows;usingSystem.Windows.Controls;namespaceWpfApplication1{publicpartialclassWindow1:Window{publicWindow1(){InitializeComponent();doublewidth=0;foreach(ComboBoxItemiteminComboBox1.Items){item.Measu