C# - WPF - 在列表视图中访问TextBox?

时间:2015-06-25 17:15:53

标签: c# wpf listview selectionchanged

我有一个包含三列的列表视图,当我选择一个列表视图项时,如何访问所选项的TextBox?

在我的情况下,我想在选择项目时关注TextBox“textQuantity”。

        <ListView x:Name="EntryListView" Height="Auto" 
                  ItemsSource="{Binding TheList}"   
                  MouseDoubleClick="EntryListView_MouseDoubleClick"  
                  SelectionChanged="EntryListView_SelectionChanged">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="Quantity">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <TextBox Name="textQuantity" Text="{Binding DefaultQuantity}" Width="40" IsTabStop="True"/>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>                        
                    <GridViewColumn Header="Block1">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding Block1}" />
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                    <GridViewColumn Header="Block2" Width="Auto">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding Block2}"></TextBlock>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                </GridView>
            </ListView.View>
        </ListView>

我猜我需要在Selectionchanged中做点什么吗?

    private void EntryListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {

    }

更新: 只是想解释一下:
enter image description here

当我选择列表视图的第一行时,通过选择它,或者通过左键单击选择行。我希望能够写入所选ListView项目的Quantity-TextBox。

例如,如果我按下Test1,我想直接写入文本为100的字段。现在我必须按下TextBox才能编辑值。

1 个答案:

答案 0 :(得分:0)

您将项目源绑定到集合,创建与集合相同类型的属性。然后将列表框selecteditem绑定到该属性。

或者绑定到选定的索引属性。

或者为您提供一种方法来识别选择集合中的哪个项目。