현재 C# wpf 프로젝트에서 작업 중입니다. 목록 상자가 있고 동적으로 다음 코드를 사용하여 목록 상자에 확인란을 추가하고 있습니다.ListBox 및 선택한 확인란 찾기
while (reader.Read())
{
Console.WriteLine("Database: " + reader.GetString("Database"));
string databaseName = reader.GetString("Database");
CheckBox chkDatabase = new CheckBox();
chkDatabase.Content = databaseName.Replace("_", "__");
chkDatabase.Uid = "chk_" + reader.GetString("Database");
chkDatabase.Checked += new RoutedEventHandler(chkDatabase_Checked);
lstDatabase.Items.Add(chkDatabase);
}
이 작업은 정상적으로 작동하며 확인란이 선택되었는지 여부를 확인하기 위해 routedeventhandler가 올바르게 작동합니다.
내가 할 수있게하려는 것은 실제로 행을 확인하는 대신 사용자가 확인란이있는 행을 클릭 할 수있게하려는 것입니다. 나는 다음과 같이 변경 선택에 대한 목록 상자에 이벤트 핸들러를 추가했습니다 :
private void lstDatabase_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Console.WriteLine("Selection Changed");
ListBox checkbox = (ListBox)e.Source;
Console.WriteLine("Checkbox2: " + checkbox.SelectedValue);
}
어떻게 선택 변경 이벤트 처리기에서 체크 박스 값을 얻을 수 있습니다.
도움을 주셔서 감사합니다.
나는 데이터 템플리트 내부의 데이터 바인딩으로서 listbox 내에 세 개의 텍스트 블록과 체크 박스를 가지고있다. 체크 박스가 체크되었는지 아닌지를 체크하는 ... 위의 코드는 chkbox ....에서 null을 반환한다. plese 헬프 .. –