0

ListViewXAML に一定量のアイテムを追加する必要がある があります。(項目をリストに動的に追加する必要はありません。xaml 内からもデータ バインディングを処理したいと考えています。)

ListViewItemsテキストを簡単に追加する方法を理解しています<ListViewItem content="blah"/>

私がやりたいことは次のようなものです:

<ListViewItem><TextBox/><Label/></ListViewItem>

ここで、リストビューの最初の列に TextBox が指定され、2 番目の列にラベルが指定されます。

これは XAML 内でのみ実行できますか? コード ビハインドはありません。データグリッドで実行可能でしょうか?

4

1 に答える 1

0

ListView で複数の列を含む 1 行のみが必要な場合は、ItemsPanel を水平方向の StackPanel に変更できます。

<ListView.ItemsPanel>
  <ItemsPanelTemplate>
    <StackPanel Orientation="Horizontal"></StackPanel>
  </ItemsPanelTemplate>
</ListView.ItemsPanel>

ListView に複数の行が必要な場合でも、stackpanel を ListViewItem として使用し、その中に子コントロールを配置することで、複数の要素を (水平に) 行に配置できます。

<ListView>
  <ListViewItem>
    <StackPanel Orientation="Horizontal">
      <TextBox></TextBox>
      <Label></Label>
    </StackPanel>
  </ListViewItem>
</ListView>

編集:

特定の種類のコントロールを含む列を作成するには、CellTemplate を GridView の列に割り当てることができます。

<ListView>
<ListView.View>
    <GridView>
        <GridViewColumn Header="TextBoxColumn">
            <GridViewColumn.CellTemplate>
                <DataTemplate>
                    <TextBox Text="{Binding Anything}" />
                </DataTemplate>
            </GridViewColumn.CellTemplate>
        </GridViewColumn>
    </GridView>
</ListView.View>
</ListView>

ただし、コード ビハインドからグリッドビューを設定する必要があります。

于 2012-05-17T15:44:05.690 に答える