Я некоторое время использовал ItemsControl для тишины в WPF. Я использую MVVM для разработки моего приложения.
Теперь я столкнулся с проблемой. У меня есть требование, когда в зависимости от количества значений в IList <> я должен отображать количество текстовых полей, разделенных запятой между ними. Я написал ItemsControl, который перебирает связанный IList <> и отображает текстовые поля в зависимости от количества элементов.
Я написал шаблон данных, подобный этому
<DataTemplate x:Key="ParameterDisplay1">
<ItemsControl ItemsSource="{Binding Parameters}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"></StackPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" >
<TextBox Width="40" Height="auto" Margin="2" Text="{Binding ProcessData}"></TextBox>
<TextBlock Text=" , " Width="auto" Height="auto" Margin="2" FontSize="15"></TextBlock>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
И я использую это так:
<dg:DataGrid x:Name="DataGrid_Standard" toGenerateColumns="False">
<dg:DataGrid.Columns>
<dg:DataGridTemplateColumn Header="Parameters" Width="SizeToCells" IsReadOnly="True"
CellTemplateSelector="{StaticResource paramTemplateSelector}">
</dg:DataGridTemplateColumn>
</dg:DataGrid.Columns>
</dg:DataGrid>
Но проблема в том, что мне нужно отобразить "(" перед первым TextBox и ")" после последнего TextBox и "," между текстовыми полями.
Я должен отобразить что-то вроде этого ::::> ** (TextBox, TextBox, TextBox) **
Достичь этого с помощью codebehind очень просто, но я не хочу ничего писать в своем файле codebehind и хочу, чтобы мой View был чистым. Я хочу записать все только в файл XAML. Пример иллюстрации о том, как это сделать, будет очень полезен !!