我已经在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中,设计器支持已经取消。