可能表达的不清楚用,结合一下代码应该清楚点。如果我想找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>();
<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>();
UserDB user = (UserDB)button.DataContext;