Дополнительные строки в шаблоне данных WPF - PullRequest
0 голосов
/ 01 июня 2018

Дополнительные строки в спецификации WPF DataTemplate

Похоже, это действительно хороший обзор привязки данных WPF от Microsoft: https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/data-binding-overview

На странице есть ссылки на загрузку в формате PDF (которая кажетсяболее полный, чем сама страница): https://docs.microsoft.com/en-us/dotnet/opbuildpdf/framework/wpf/data/toc.pdf?branch=live и образец приложения: http://go.microsoft.com/fwlink/?LinkID=163703.

Вопрос:

В файле примера приложения: DataBindingLabApp.xaml (~строка 50) шаблон данных определяется для отдельных элементов списка.Шаблон задает 4 строки, но используются только две строки ... Есть ли веская причина для того, чтобы неиспользуемые строки были?

   <DataTemplate DataType="{x:Type src:AuctionItem}">
        <Border BorderThickness="1" BorderBrush="Gray"
                Padding="7" Name="border" Margin="3" Width="500">
            <Grid>

                <Grid.RowDefinitions>
                    <RowDefinition/>
                    <RowDefinition/>
                    <RowDefinition/>   <!-- not needed? -->
                    <RowDefinition/>   <!-- not needed? -->
                </Grid.RowDefinitions>

                <Grid.ColumnDefinitions>
                    ...

Я удалил 2 строки и, насколько я могу судить (сравнивая экранкадры) лишние строки не влияют на внешний вид элементов списка.Есть ли причина, по которой они должны быть сохранены?Единственное, о чем я могу думать, - это какая-то будущая функциональность (но это кажется плохой практикой, нет?)

1 Ответ

0 голосов
/ 01 июня 2018

Есть ли какая-то причина, по которой они должны быть сохранены?

Если в Grid нет элементов, которые устанавливают для Grid.Row присоединенного свойства либо 2, либо 3 вы можете удалить их, если вы не хотите, чтобы верхние две (только две) строки заполняли только 50% от общей высоты Grid.

A RowDefinition имеет высоту по умолчанию Autoэто означает, что доступное пространство будет разделено поровну между количеством определяемых вами элементов <RowDefinition/>.

... насколько я могу судить (сравнивая снимки экрана), дополнительные строки создаютбез разницы к внешнему виду пунктов списка.Есть ли причина, по которой они должны быть сохранены?

Нет.

Единственное, о чем я могу думать, это о какой-то будущей функциональности (но это кажется плохой практикой, нет?)

Да, тогда вы можете добавить их позже.

...