У меня есть текстовое поле, в котором вы можете ввести целое число (которое будет иметь размер UniformGrid). При нажатии кнопки генерируется UniformGrid, каждая сетка содержит текстовый блок, текстовое поле и кнопку, сгенерированные под другим ElementName. Я прошел так много учебников и просто добавил что-то к детям. И я, похоже, не могу установить логику привязки, которая привязана к тому, что и контролируется itemcontrolled. Я прошел через wpftutorial, и это только смущает меня дальше. Цените, если кто-нибудь может объяснить логику простым языком.C# WPF Dynamic UniformGrid
0
A
ответ
1
UniformGrid
не может реально использоваться в качестве ItemsHost
для ItemsControl
, в основном потому, что DataTemplate
может принимать только одного ребенка, который запрещает его использование в данном контексте.
Вот альтернативный подход, который может помочь вам достичь того, чего вы хотите (я думаю)
<ListView ItemsSource="{Binding MyData}">
<ListView.View>
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="GridViewColumnHeader">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridView.Columns>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding SomeLabelText}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding SomeInputText}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Content="{Binding SomeButtonLabel}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView.Columns>
</GridView>
</ListView.View>