Как я могу изменить ребенка ItemsControl
на основании имущества ребенка?ItemsControl - другой ребенок, основанный на собственности
На данный момент у меня есть это ItemsControl
:
<ItemsControl ItemsSource="{Binding FooBar}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBox Text="{Binding FirstName}" Grid.Column="0"/>
<TextBox Text="{Binding LastName}" Grid.Column="1"/>
<TextBox Text="{Binding Age}" Grid.Column="2"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Этот ItemsControl
связан с ObservableCollection
называется FooBar
. Каждый объект внутри ObservableCollection
обладает теми же свойствами. 3 из 4 объекта привязаны к ItemsControl
. Свойство foruth называется deletable
и имеет тип bool
. Теперь я хочу проверить это свойство. Если deletable == true
, я хочу увидеть другой ItemsControl.ItemTemplate
.
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
//...
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
Как я могу переключаться между двумя ItemsControl.ItemTemplate
- с обязаны OberservableCollection
- на основе Собственость?
Как может четвертое свойство коллекции повлиять на то, как это делается? Если у вас есть 2 объекта в 'FooBar', а' FooBar [0] 'говорит' false', а 'FooBar [1]' говорит 'true', то какой шаблон он должен использовать? – Jai
@Jai Я думал, что объект загружен первым, а затем отображается. Чтобы я мог посмотреть на свойство 'deletable' между этими двумя процессами и выбрать, на каком шаблоне он должен отображаться. – MyNewName
Есть ли разница между двумя разными шаблонами, которые вы хотите показать? Я предполагаю, что 'deletable', установленный в' true', просто предоставит кнопку удаления? Если это так, вы можете показать/скрыть кнопку удаления на основе этого свойства. – Bijington