我有一个TextBox DataTemplate
<DataTemplate x:Key="TextBoxTemplate">
<StackPanel>
<Label />
<TextBox />
</StackPanel>
</DataTemplate>
网格定义为
<Grid Margin="10 10 10 10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25*"></ColumnDefinition>
<ColumnDefinition Width="25*"></ColumnDefinition>
<ColumnDefinition Width="25*"></ColumnDefinition>
<ColumnDefinition Width="25*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<ItemsControl ItemsSource="{Binding myObservableCollection}" ItemTemplateSelector="{StaticResource myItemTemplateSelector}" />
</Grid>
我想要完成的是强制此文本框出现在特定网格的列中 - 到目前为止没有运气。
我试过
<DataTemplate x:Key="TextBoxTemplate">
<StackPanel>
<Label />
<TextBox Grid.Column="2" />
</StackPanel>
</DataTemplate>
但它不起作用。
<DataTemplate x:Key="TextBoxTemplate">
<StackPanel Grid.Column="2">
<Label />
<TextBox />
</StackPanel>
</DataTemplate>
也不起作用。
“2”仅用于测试,最终我想在那里使用绑定。
是否可以使用DataTemplate执行此操作(以定义我希望TextBox出现在哪个网格的列中)?
我想最终得到像这样放置的TextBox。
因此,TextBox在网格上的位置应该取决于模板的值。
修改ItemsControl以显示在特定网格的列
中<Grid Margin="10 10 10 10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="25*"></ColumnDefinition>
<ColumnDefinition Width="25*"></ColumnDefinition>
<ColumnDefinition Width="25*"></ColumnDefinition>
<ColumnDefinition Width="25*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<ItemsControl Grid.Column="2" ItemsSource="{Binding myObservableCollection}" ItemTemplateSelector="{StaticResource myItemTemplateSelector}" />
</Grid>
正在给我这个
这不是我所期待的。我希望TextBoxes根据模板中的值放在不同的列中。