Ram349 Ответов: 1

Проблема с контрольным списком Wpf


Всем Привет,
Я работаю над приложением WPF.Здесь я использую
CheckListBox
для некоторых функционеров.
Здесь я связываю данные в
CheckListBox
.Но я не делаю никаких функций, связанных с флажками.
Например, по умолчанию проверяются все элементы или проверяются значения элементов.

Что я уже пробовал:

Я перепробовал так много статей, но это не сработало для меня.

1 Ответов

Рейтинг:
0

dnxit

Неясно, какова ваша цель или что вы хотите сделать со списком флажков, но я приведу вам очень простой пример, как это можно сделать
Попробуйте это создать приложение wpf и заменить код MainWindow как показано ниже

<Window x:Class="WpfApp2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp2"
        mc:Ignorable="d"
		DataContext="{Binding RelativeSource={RelativeSource Self}}"
        Title="MainWindow" Height="450" Width="800">
	<Grid>
		<ListBox ItemsSource="{Binding CheckList}" Grid.Column="1" Grid.Row="6" Height="200">
			<ListBox.ItemTemplate>
				<DataTemplate>
					<CheckBox Name="chkitems" Content="{Binding TheText}" IsChecked="{Binding IsSelected }" />
				</DataTemplate>
			</ListBox.ItemTemplate>
		</ListBox>
	</Grid>
</Window>


public partial class MainWindow : Window, INotifyPropertyChanged
{
	List<CheckListItem> checkList;
		
	public event PropertyChangedEventHandler PropertyChanged;
	protected virtual void OnPropertyChanged(PropertyChangedEventArgs e)
	{
		PropertyChanged?.Invoke(this, e);
	}
		
	public MainWindow()
	{
		InitializeComponent();
		CheckList = GenerateTestData();
	}

	public List<CheckListItem> CheckList
	{
		get { return checkList; }
		set { 
                       checkList = value; 
                       OnPropertyChanged(new PropertyChangedEventArgs("CheckList")); 
            }
	}

	List<CheckListItem> GenerateTestData()
	{
		var checkListItems = new List<CheckListItem>() {
			new CheckListItem { TheText = "Text 1", IsSelected = false },
			new CheckListItem { TheText = "Text 2", IsSelected = true },
			new CheckListItem { TheText = "Text 3", IsSelected = false }
		};

		return checkListItems;
	}
}

public class CheckListItem
{
	public string TheText { get; set; }
	public bool IsSelected { get; set; }
}