【问题标题】:Changing the order of properties when controls are added to a WPF Window将控件添加到 WPF 窗口时更改属性的顺序
【发布时间】:2011-08-27 00:22:28
【问题描述】:

向 WPF 窗口(或其他“自定义”控件)添加新控件(例如标签)时,IDE 会预先构建,例如

<Label Content="Label" Grid.ColumnSpan="2" Grid.Row="6" Grid.RowSpan="2" Height="28" HorizontalAlignment="Left" Margin="54,11,0,0" Name="label1" VerticalAlignment="Top" />

我希望它更改默认顺序和格式,例如...

<Label Name="label1" 
       Content="Label" 
       HorizontalAlignment="Left"
       VerticalAlignment="Top"
       Grid.Row="?" 
       Grid.Column ="?" 
       Height="28"/>

尤其是作为 WPF 的新手,我讨厌 IDE 只是将事情“扔”在一起。我喜欢把控件的名称放在前面,主要的对齐问题,然后是关于控件的位置和附加信息。

【问题讨论】:

    标签: c# wpf default


    【解决方案1】:

    我不知道如何在属性中建立默认顺序,但也许 Xaml Markup Styler 可能会引起您的兴趣。它是 VS 的插件,可重新格式化您的 XAML(上下文菜单)并根据属性的重要性对属性进行排序(插件开发人员认为的重要性。

    不管怎样,我现在正在使用这个插件,我推荐它。

    http://xamlstyler.codeplex.com/

    我知道这不是你想要的,但也许这是一个很好的部分解决方案。

    【讨论】:

      【解决方案2】:

      在 xaml 中,属性的顺序无关紧要。可视化编辑器将按照生成它们的编码顺序生成它们。您可以对它们重新排序并删除您想要的(如果需要,将使用默认值),大部分情况下,您的心愿。

      在您的示例中(例如),如果您的标签不是 Grid 控件的子级,则不需要 Grid.RowGrid.Column。如果您想使用默认的Height,可以不使用Height。确实,您应该设置的唯一内容是内容——但即使这样也是可选的。

      现在,您可以做的另一件事是将&lt;style&gt; 添加到您的资源部分。通过使用&lt;style&gt;,您可以将所有“默认值”设置为您想要的。例如,您可以将每个&lt;Label&gt; 的背景或文本颜色设置为相同,或者仅在您告诉使用您创建的样式的那些上设置相同。

      here 是一篇关于样式和控件模板的相当不错的文章。

      【讨论】:

      • 大声笑,我想这不是他的问题。他想要更改控件的默认模板,其中属性按他喜欢的顺序放置,而不是当前模板给出的默认顺序.. :)
      • 我不清楚他在问什么。我想这是一个不知道术语的新人的问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-17
      • 1970-01-01
      • 1970-01-01
      • 2011-10-30
      • 1970-01-01
      • 2012-07-08
      • 2016-01-15
      相关资源
      最近更新 更多