问题标签 [xaml-designer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - 是否可以在 Visual Studio 2019 的 WPF 的 XAML 设计器中显示隐藏元素?
在 WinForms 设计器中,隐藏的元素仍然显示在设计器中,这对我来说非常有意义,因为我希望能够编辑和查看元素而无需一直切换其可见性。在 WPF XAML 设计器中,可见性属性完全隐藏了元素。我绝对无法理解这个功能,特别是因为有设计器IsHidden
指令,它可以让我们控制设计器中元素的可见性。
是否可以以某种方式在 XAML 设计器中显示隐藏元素?
visual-studio-2019 - IntelliSense 在大型 XAML 文件中不起作用
更新 Visual Studio IntelliSense 后,在一个包含大约 2220 行代码的 XAML 文件中停止工作。它适用于其他文件,并在我删除部分代码时开始工作。我试图删除 .vs 文件夹,删除并添加此文件,但没有帮助
uwp-xaml - Blend for Visual Studio 2019 在资产窗口中禁用 PATH 和其他形状
我正在使用 Blend for Visual Studio 2019 社区版为我的 UWP 应用程序设计 XAML 页面。根据 Microsoft 文档绘制一个形状 ,应该有 6 个可用形状(椭圆、路径、线条和其他 6 个),但在我的情况下,这些不可用。格式-->转换为运动路径等一些功能也被禁用。
任何人都知道这里出了什么问题我已经安装了完整的 vs2019 社区版。
c# - 如何在 xaml 中将最后一个列表框项目与其他列表框项目分开
我需要将最后一项与此列表框分开,如何轻松处理?我不想添加新按钮并从列表框中删除该项目。
列表框必须如下所示[![在此处输入图像描述][1]][1]
我的列表框代码如下,[1]:https ://i.stack.imgur.com/fTO45.png
c# - 不能在属性前使用“d:”前缀来启用设计时数据
d:
在attributes
XAML 设计器中使用 , 之前显示它们时遇到问题。
只有d:DataContext
属性得到解析,但d:Text
告诉我属性文本不存在于“http://schemas.microsoft.com/expression/blend/2008”命名空间
中当然我在我的标题 XAML 文档中使用以下代码行:
这是我阅读的来源之一:在 Visual Studio 中将设计时数据与 XAML 设计器一起
使用我正在使用 Visual Studio 2019 版本 16.8 和 .NET Framework。
有什么建议为什么它对我不起作用?
c# - XAML 设计器在程序运行后显示错误并且无法正确显示
将鼠标悬停在带有蓝色下划线的文本上时,XAML 设计器会显示一个奇怪的错误。它还拒绝在预览中正确显示组件。文字很简单
这看起来像一个NullReferenceException
,但我不知道它来自哪里。它在启动的应用程序中正确显示。
它实际上似乎与继承List<string>
AND 公开可设置属性有关。如果我删除其中任何一个,它就会起作用。但我想要两者都用于我的转换器。
要重现它,只需创建一个空的 WPF .NET Framework 项目,并将其粘贴MainWindow.xaml.cs
到命名空间内的代码下方:
这进入MainWindow.xaml
:
保持MainWindow.xaml
打开状态,然后通过“开始”按钮启动应用程序。你可以看到一个绿色和一个红色的方块。由于这在 XAML 中是硬编码的,因此我希望设计人员能够展示这一点。
相反,当您退出应用程序时,设计器会显示颜色十六进制代码而不是彩色方块,这似乎是因为转换器设置存在问题。
有什么问题?
c# - 如何在 WPF 设计器、.NET 6.0 中获取应用程序目录?
我的 WPF 应用程序从相对于主应用程序可执行文件的位置读取目录结构。
然后它将目录结构可视化为TreeView
.
当我只运行应用程序时它工作正常,但是,当我在 XAML 设计器中预览它时,它不起作用。我发现它是从这样的不同位置加载的:
C:\Users\Adam\AppData\Local\Microsoft\VisualStudio\17.0_108779a0\Designer\Cache\1481370356x64DA\
是的,这就是System.AppDomain.CurrentDomain.BaseDirectory
财产的价值。
我从assembly.Location
.
我知道很久以前有人问过类似的问题,答案对以前的 Visual Studio 版本和以前的 .NET 版本有效。它们都不适用于 .NET 6 和 Visual Studio 2022。请不要将其标记为这些问题的重复。
要验证这些答案不适用于 .NET 6 - 只需创建一个新的 .NET 6 WPF 项目,在视图执行的任何代码中插入以下代码:
重新加载设计器,你会明白我在说什么。
我已经找到了一个非常丑陋的解决方法,但它只是hhhhhhideous!当我故意抛出并捕获异常时。我将在堆栈跟踪中获得我的代码的路径。然后我可以从那里提取我的项目目录,然后在项目文件中找到输出路径,就是这样。但是来吧!必须有更清洁的方法!
更新: 这是hhhhhhideous hack:
我测试了它并且它有效。但这只是一个残暴的可憎之物,应该被火烧死。
xaml - 如何防止 Visual Studio XAML 设计器更改网格大小定义?
我Grid
在 XAML 中有这样的定义:
如果您想通过添加/删除行/列来修改网格,您可能需要更新网格的许多子项的Grid.Row
/Grid.Column
附加属性(例如,删除前两行时,StackPanel
需要从 更改Grid.Row="5"
为Grid.Row="3"
)。
如果网格已经有很多孩子,这可能会变得很麻烦。因此,在设计时修改已填充的网格时,我使用的是 XAML 设计器的可视化端,因为它会相应地自动更新网格内容的附加属性。
对于添加,这非常有效:
但是,对于删除,它还会更新任何具有动态大小定义(* 单位)的 / RowDefinition
。ColumnDefinition
例如,在删除前两行后,我剩下的是这样的:
理想情况下,我想得到以下结果:
现在,我总是要记住在删除可视化设计器中的行或列之前复制我想要保留的定义,这样我就可以将复制的定义粘贴到创建的混乱中。但这甚至都行不通,除非你只是在边缘删除。
是否有一个选项可以告诉 XAML 设计器不要对大小定义进行伪优化?
我尝试了诸如在单击“删除行”菜单项时按住 Shift 或 Control 之类的方法,并且我查看了 VS 提供的(非常少的)XAML Designer 设置,但到目前为止无济于事。
我有 Visual Studio 2019 专业版。