是否可以在 XML 代码中"quick refactor"元素属性顺序?



我已经在C#课程中使用UWP两周了。目前,我对XML元素属性的排序方式越来越恼火。查看某个部分的外观:

<Button x:Name="_newJourney" Content="Begin a New Journey" Margin="0,400,0,0" VerticalAlignment="Top" Height="72" Width="442" FontSize="36" Click="_newJourney_Click" Grid.Column="1" HorizontalAlignment="Center"/>
<Button Content="Load Game(?)" Height="72" Width="442" FontSize="36" Grid.Column="1" Margin="0,0,0,0" HorizontalAlignment="Center"/>
<Button Content="Options" Height="72" Width="442" FontSize="36" Margin="0,606,0,0" VerticalAlignment="Top" Grid.Column="1" HorizontalAlignment="Center"/>
<TextBox Margin="41,324,0,0" Text="TextBox" TextWrapping="Wrap" VerticalAlignment="Top" Height="55" Grid.Column="1" HorizontalAlignment="Left" Width="379"/>
<Button x:Name="_newJourney_Copy" Content="⟲" Margin="431,324,38,0" VerticalAlignment="Top" Height="55" FontSize="36" Click="_newJourney_Click" Grid.Column="1" HorizontalAlignment="Stretch"/>

老实说,我站在一个问题面前,我是简单地自己重新排序元素,还是问是否有一种方法可以快速重构它?我的解决方案是简单地从询问开始。

我试过在谷歌上搜索,但与我开始编程时类似,这相当困难,因为我不知道XML/UWP设计器的正确术语。也就是说,我实际上并不认为它被称为属性,我甚至不知道元素是否是一个正确的术语,我只是从HTML中获得了它。

一般来说,我们整个班级在搜索UWP帮助时都遇到了问题,我们一直在获得WPF提示:/

所以,下面是我希望我能做的。它本质上是对XML文件中的元素属性进行排序。下面的示例确实包括缩进,但我认为这主要是为了向您显示排序。我不希望任何技术能像我所做的那样执行压痕。元素的实际排序只是一个建议,我不在乎x:Name是在开头还是结尾,只要它是一致的。

<Button  x:Name="_newJourney"       Content="New Journey"   Width="442" Height="72" Margin="0,400,0,0"      VerticalAlignment="Top"  HorizontalAlignment="Center" FontSize="36" Click="_newJourney_Click" Grid.Column="1" />
<Button  x:Name="_loadGame"         Content="Load Game(?)"  Width="442" Height="72" Margin="0,0,0,0"        HorizontalAlignment="Center" FontSize="36"  Grid.Column="1"/>
<Button  x:Name="_options"          Content="Options"       Width="442" Height="72" Margin="0,606,0,0"      VerticalAlignment="Top"  HorizontalAlignment="Center" FontSize="36"    Grid.Column="1"/>
<TextBox x:Name="_gameSeed"         Text="TextBox"          Width="379" Height="55" Margin="41,324,0,0"     VerticalAlignment="Top"  HorizontalAlignment="Left" TextWrapping="Wrap"   Grid.Column="1"  />
<Button  x:Name="_refreshGameSeed"  Content="⟲"            Width="55"  Height="55" Margin="431,324,38,0"    VerticalAlignment="Top" HorizontalAlignment="Stretch"  FontSize="36" Click="_newJourney_Click" Grid.Column="1" />

再次澄清。我的想法类似于CTRL-K、CTRL-F,它将自动缩进代码,甚至可以在XML中工作。因此,只需一个对元素进行自动排序的命令或选项。

我试着尽我所能做到彻底,但我确实担心我缺乏很多术语知识。所以,如果不清楚,试着从字里行间读一读,看看我的要求是什么。如果仍然不可能,一定要要求澄清。

如果您关心属性在XAML标记中的设置顺序,您应该在文本编辑器中自己键入标记。

如果你依赖设计器为你设置属性,你通常会在第一个代码片段中得到类似的结果。

不,据我所知,一旦属性添加到标记中,就无法告诉Visual Studio为您排序。

这里的课程应该是学习如何编写XAML,并停止使用设计器为您编写代码/标记。

如果你愿意,你甚至可以完全禁用设计器。在Windows的下一代UI框架WinUI中,设计器支持已经取消。

最新更新