Как сделать привязку данных в CheckEd это с файлом WPF

Я хочу сделать привязку между CheckEdit и файлами txt

 string[] path1 = { "Fine.txt", "Debug.txt", "Info.txt" };

Я даю в файлах данных и выводить их в GridControl

Мне нужно сделать так, чтобы вы могли выбрать конкретный файл

<ItemsControl ItemsSource="{Binding MyCheckBockes}" Margin="0"  Grid.Column="1" Grid.RowSpan="1" >
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <dxe:CheckEdit Content="{Binding}" Padding="2.5" Margin="3" IsChecked="True"/>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel Orientation="Vertical"  />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
    </ItemsControl>

Завершает сетку

   string[] path1 = { "Fine.txt", "Debug.txt", "Info.txt" };

    public List<DataText> list;

    public TextViewModel()
    {

        list = ReadTextFile.LoadDateListFromFile(path1);

   }

    public string[] MyCheckBockes
    {
        get { return path1; }
        set
        {
            path1 = value;
            OnPropertyChange("MyCheckBockes");
        }
    }

ReadTextFile.LoadDateListFromFile - анализировать и выводить данные в GridControl

Вопрос! как сделать привязку, что вы можете включить или отключить определенный файл данных

1 ответ

Решение

Вам нужно будет привязывать не только строки. Вам также нужно будет создать какой-то объект для хранения включенной информации. Возможно что-то вроде:

public class MyCheckbox
    {
        public string FilePath { get; set; }
        public bool IsEnabled { get; set; }
    }

Тогда ваш код изменится на:

  MyCheckbox[] path1 = {
            new MyCheckbox() { FilePath = "Fine.txt", IsEnabled = false },
            new MyCheckbox() { FilePath = "Debug.txt", IsEnabled = true },
            new MyCheckbox() { FilePath = "Info.txt", IsEnabled = true } };

        public MyCheckbox[] MyCheckBockes
        {
            get { return path1; }
            set
            {
                path1 = value;
                OnPropertyChange("MyCheckBockes");
            }
        }

И твоя привязка:

<dxe:CheckEdit Content="{Binding Path=FilePath}" Padding="2.5" Margin="3" IsChecked="True" IsEnabled="{Binding Path=IsEnabled}"/>
Другие вопросы по тегам