首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

ListView绑定了一个List<>会合,有没有方法找到集合某一项对应的ListViewItem中的控件

2013-03-21 
ListView绑定了一个List集合,有没有方法找到集合某一项对应的ListViewItem中的控件可能表达的不清楚用,

ListView绑定了一个List<>集合,有没有方法找到集合某一项对应的ListViewItem中的控件
可能表达的不清楚用,结合一下代码应该清楚点。

如果我想找UserList[3]对应ListView列表中的<Grid MouseLeftButtonDown="RestAuthCode" 这个元素的话应该如何找?还有如果我在ListView中单击了某行的按钮,如何查的该行对应的UserList是集合中的哪一个?求助高人解答,谢谢

xaml:

<ListView Margin="0,10,0,0" Grid.Row="1" ItemsSource="{Binding Path=UserList}">
                <ListView.ItemsPanel>
                    <ItemsPanelTemplate>
                        <WrapPanel Orientation="Vertical" />
                    </ItemsPanelTemplate>
                </ListView.ItemsPanel>
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Margin="8" Orientation="Horizontal">
                            <StackPanel>
                                <TextBlock Margin="0,31,0,9" Foreground="#ffbbbbbb" Text="{Binding Path=UserName,Mode=OneTime}" Width="120" />
                                <CheckBox HorizontalAlignment="Center" Content="xxx" IsChecked="True" />
                            </StackPanel>
                            <StackPanel>
                                <ComboBox Margin="8,28,8,5" Height="23" Width="90" Text="{Binding Path=BuyVersion,Mode=OneWayToSource}">
                                </ComboBox>
                                <CheckBox HorizontalAlignment="Center" Content="bbb" IsChecked="True" />
                            </StackPanel>
                            <Border BorderBrush="#FFeeeeee" BorderThickness="1" CornerRadius="4">


                                <Grid MouseLeftButtonDown="RestAuthCode" Width="220" Height="80">
                                    <TextBlock Foreground="#ffeeeeee" Text="验证码" VerticalAlignment="Center" HorizontalAlignment="Center" />
                                </Grid>
                            </Border>
                            <TextBox Text="{Binding Path=AuthCode}" FontSize="16" VerticalAlignment="Center" Padding="8,4" Margin="4,0" Width="100" />
                            <Button Content="提交" IsEnabled="{Binding Path=CanSubmit}" Click="Button_Click" Padding="8,0" Margin="4,0" Height="23" />
                            <TextBlock Text="{Binding Path=Result}" VerticalAlignment="Center" />
                        </StackPanel>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>



cs:

        class UserDB : INotifyPropertyChanged
        {
            public string UserName { get; set; }
            public string Password { get; set; }
            public string BuyVersion { get; set; }
            public CookieContainer Cookies { get; set; }

            private string authCode;
            public string AuthCode
            {
                get { return authCode; }
                set
                {
                    authCode = value;


                    NotifyPropertyChanged("AuthCode");
                }
            }

            private string canSubmit;
            public string CanSubmit
            {
                get { return canSubmit; }
                set
                {
                    canSubmit = value;
                    NotifyPropertyChanged("CanSubmit");
                }
            }
}
//绑定到UserList
UserList = new ObservableCollection<UserDB>();


[解决办法]
比如某一行的某Button的Click事件

Button button = (Button)sender;
UserDB user = (UserDB)button.DataContext;

热点排行