Перенос атрибутов в XAML - PullRequest
0 голосов
/ 06 августа 2020

Я новичок в WPF и XAML, и я изо всех сил пытался найти какое-либо руководство по правильной упаковке для атрибутов и других элементов длинного кода. В обычном C Sharp я всегда ограничивал себя 100 символами для разборчивости, и я хотел бы продолжить это здесь.

Вот пример, который я написал.

<!--Folder treeview-->
<TreeView x:Name="FolderView" Grid.Column="0" VerticalAlignment="Top" ItemsSource="{Binding Items}">
    <TreeView.ItemContainerStyle>
        <Style TargetType="{x:Type TreeViewItem}">
            <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
        </Style>
    </TreeView.ItemContainerStyle>
    <!--Item Template-->
    <TreeView.ItemTemplate>
        <HierarchicalDataTemplate ItemsSource="{Binding Children}">
            <StackPanel Orientation="Horizontal">
                <Image Width="20" Margin="3" Source="{Binding Type, Converter={x:Static local:HeaderToImageConverter.Instance}}"/>
                <TextBlock VerticalAlignment="Center" Text="{Binding Name}"/>
            </StackPanel>
        </HierarchicalDataTemplate>
    </TreeView.ItemTemplate>
</TreeView>

Должен ли я оборачиваться вот так?

<TreeView x:Name="FolderView" Grid.Column="0" VerticalAlignment="Top" 
          ItemsSource="{Binding Items}">

или так?

<TreeView x:Name="FolderView" Grid.Column="0" VerticalAlignment="Top" 
    ItemsSource="{Binding Items}">

Как заключить длинные элементы в фигурные скобки? Нажатие Enter внутри скобок в VS приводит к смещению:

                <Image Width="20" Margin="3" 
                       Source="{Binding Type, 
                    Converter={x:Static local:HeaderToImageConverter.Instance}}"/>

Более знакомый способ обертывания в c sharp не компилируется и требует ручного выравнивания (никогда не бывает хорошей идеей):

                <Image Width="20" Margin="3" 
                       Source="
                       {
                            Binding Type,
                            Converter={x:Static local:HeaderToImageConverter.Instance}
                       }"/>

Скорее всего, это довольно субъективный topi c, как всегда, но я хотел бы знать, какие стили предпочтительны в отрасли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...