我一直在WPF中使用ItemsControl来保持安静。我正在使用MVVM来开发我的应用程序。WPF datatemplate ItemsControl指定初始值和最终值
现在我遇到了一个问题。我有一个要求,根据IList <>中的值的数量,我必须显示用逗号分隔的文本框的数量。我编写了一个ItemsControl,它遍历绑定的IList并根据元素数显示文本框。
我已经写了一个DataTemplate这样
<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和“,”之间的文本框。
我一定要显示这样的事情::::> **(文本框,文本框,文本框)**
实现这一使用代码隐藏是容易的,但我不想在我的代码隐藏文件中写入任何东西,我希望我的视图干净。我只想将所有内容写入XAML文件中有关如何执行此操作的示例插图将非常有用!
谢谢德鲁,但我很遗憾地说我没有得到你。我应该在哪里包装ItemsControl,并且应该在哪里放置触发器。我已经在我的问题中添加了更多细节,关于我如何使用它.. – GuruC 2010-09-30 03:43:42
@Guru,我用一些代码更新了我的答案。希望更清楚。 – 2010-10-03 18:13:33
Yipiie非常感谢!它的工作精湛。我花了这么多小时的时间...再一次感谢你! – GuruC 2010-10-04 05:11:10