0

Возникла проблема, имеются множество TextBox-ов, в которых есть значения, все эти TextBox-ы находятся в ItemsControl. Необходимо получить значения всех этих TextBox-ов и передать в функцию из другого класса. Пробовал использовать методы ItemsSource и Items, но при дебаге вижу, что контейнеры null.

XAML код:

<Grid Background="White">
        <Grid.RowDefinitions>
            <RowDefinition Height="100"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="35"/>
        </Grid.RowDefinitions>
    &lt;StackPanel Orientation=&quot;Vertical&quot; VerticalAlignment=&quot;Center&quot; HorizontalAlignment=&quot;Center&quot; Grid.Row=&quot;1&quot;&gt;
        &lt;ItemsControl x:Name=&quot;NFR&quot;&gt;
                &lt;ItemsControl.ItemTemplate&gt;
                    &lt;DataTemplate&gt;
                    &lt;WrapPanel Orientation=&quot;Horizontal&quot; HorizontalAlignment=&quot;Center&quot; VerticalAlignment=&quot;Center&quot;&gt;
                        &lt;StackPanel Orientation=&quot;Vertical&quot;&gt;
                            &lt;StackPanel&gt;
                                &lt;TextBlock Text=&quot;ID аккаунта&quot; FontSize=&quot;12&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;#498C51&quot;/&gt;
                                &lt;TextBox x:Name=&quot;id_account&quot; IsReadOnly=&quot;True&quot; Width=&quot;200&quot; Height=&quot;30&quot; Text=&quot;{Binding id_account}&quot; Background=&quot;{x:Null}&quot; BorderBrush=&quot;#498C51&quot; BorderThickness=&quot;2&quot; HorizontalContentAlignment=&quot;Center&quot; VerticalContentAlignment=&quot;Center&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;DimGray&quot;&gt;
                                    &lt;TextBox.Resources&gt;
                                        &lt;Style TargetType=&quot;Border&quot;&gt;
                                            &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                                        &lt;/Style&gt;
                                    &lt;/TextBox.Resources&gt;
                                &lt;/TextBox&gt;
                            &lt;/StackPanel&gt;
                            &lt;StackPanel  Margin=&quot;0,10&quot;&gt;
                                &lt;TextBlock Text=&quot;ID клиента&quot; FontSize=&quot;12&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;#498C51&quot;/&gt;
                                &lt;TextBox x:Name=&quot;id_client&quot; IsReadOnly=&quot;True&quot; Width=&quot;200&quot; Height=&quot;30&quot; Text=&quot;{Binding id_client}&quot; Background=&quot;{x:Null}&quot; BorderBrush=&quot;#498C51&quot; BorderThickness=&quot;2&quot; HorizontalContentAlignment=&quot;Center&quot; VerticalContentAlignment=&quot;Center&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;DimGray&quot;&gt;
                                    &lt;TextBox.Resources&gt;
                                        &lt;Style TargetType=&quot;Border&quot;&gt;
                                            &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                                        &lt;/Style&gt;
                                    &lt;/TextBox.Resources&gt;
                                &lt;/TextBox&gt;
                            &lt;/StackPanel&gt;
                            &lt;StackPanel&gt;
                                &lt;TextBlock Text=&quot;Логин&quot; FontSize=&quot;12&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;#498C51&quot;/&gt;
                                &lt;TextBox x:Name=&quot;login&quot; Width=&quot;200&quot; Height=&quot;30&quot; Text=&quot;{Binding login}&quot; Background=&quot;{x:Null}&quot; BorderBrush=&quot;#498C51&quot; BorderThickness=&quot;2&quot; HorizontalContentAlignment=&quot;Center&quot; VerticalContentAlignment=&quot;Center&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot;&gt;
                                    &lt;TextBox.Resources&gt;
                                        &lt;Style TargetType=&quot;Border&quot;&gt;
                                            &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                                        &lt;/Style&gt;
                                    &lt;/TextBox.Resources&gt;
                                &lt;/TextBox&gt;
                            &lt;/StackPanel&gt;
                            &lt;StackPanel  Margin=&quot;0,10&quot;&gt;
                                &lt;TextBlock Text=&quot;Пароль&quot; FontSize=&quot;12&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;#498C51&quot;/&gt;
                                &lt;TextBox x:Name=&quot;password&quot; Width=&quot;200&quot; Height=&quot;30&quot; Text=&quot;{Binding password}&quot; Background=&quot;{x:Null}&quot; BorderBrush=&quot;#498C51&quot; BorderThickness=&quot;2&quot; HorizontalContentAlignment=&quot;Center&quot; VerticalContentAlignment=&quot;Center&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot;&gt;
                                    &lt;TextBox.Resources&gt;
                                        &lt;Style TargetType=&quot;Border&quot;&gt;
                                            &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                                        &lt;/Style&gt;
                                    &lt;/TextBox.Resources&gt;
                                &lt;/TextBox&gt;
                            &lt;/StackPanel&gt;
                            &lt;StackPanel&gt;
                                &lt;TextBlock Text=&quot;Имя&quot; FontSize=&quot;12&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;#498C51&quot;/&gt;
                                &lt;TextBox x:Name=&quot;name&quot; Width=&quot;200&quot; Height=&quot;30&quot; Text=&quot;{Binding name_}&quot; Background=&quot;{x:Null}&quot; BorderBrush=&quot;#498C51&quot; BorderThickness=&quot;2&quot; HorizontalContentAlignment=&quot;Center&quot; VerticalContentAlignment=&quot;Center&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot;&gt;
                                    &lt;TextBox.Resources&gt;
                                        &lt;Style TargetType=&quot;Border&quot;&gt;
                                            &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                                        &lt;/Style&gt;
                                    &lt;/TextBox.Resources&gt;
                                &lt;/TextBox&gt;
                            &lt;/StackPanel&gt;
                            &lt;StackPanel  Margin=&quot;0,10&quot;&gt;
                                &lt;TextBlock Text=&quot;Фамилия&quot; FontSize=&quot;12&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;#498C51&quot;/&gt;
                                &lt;TextBox x:Name=&quot;second_name&quot; Width=&quot;200&quot; Height=&quot;30&quot; Text=&quot;{Binding second_name}&quot; Background=&quot;{x:Null}&quot; BorderBrush=&quot;#498C51&quot; BorderThickness=&quot;2&quot; HorizontalContentAlignment=&quot;Center&quot; VerticalContentAlignment=&quot;Center&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot; &gt;
                                    &lt;TextBox.Resources&gt;
                                        &lt;Style TargetType=&quot;Border&quot;&gt;
                                            &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                                        &lt;/Style&gt;
                                    &lt;/TextBox.Resources&gt;
                                &lt;/TextBox&gt;
                            &lt;/StackPanel&gt;
                            &lt;StackPanel&gt;
                                &lt;TextBlock Text=&quot;Отчество&quot; FontSize=&quot;12&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;#498C51&quot;/&gt;
                                &lt;TextBox x:Name=&quot;patronymic&quot; Width=&quot;200&quot; Height=&quot;30&quot; Text=&quot;{Binding patronymic}&quot; Background=&quot;{x:Null}&quot; BorderBrush=&quot;#498C51&quot; BorderThickness=&quot;2&quot; HorizontalContentAlignment=&quot;Center&quot; VerticalContentAlignment=&quot;Center&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot;&gt;
                                    &lt;TextBox.Resources&gt;
                                        &lt;Style TargetType=&quot;Border&quot;&gt;
                                            &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                                        &lt;/Style&gt;
                                    &lt;/TextBox.Resources&gt;
                                &lt;/TextBox&gt;
                            &lt;/StackPanel&gt;
                        &lt;/StackPanel&gt;
                        &lt;StackPanel Orientation=&quot;Vertical&quot; Margin=&quot;20,0&quot;&gt;
                            &lt;StackPanel&gt;
                                &lt;TextBlock Text=&quot;Дата рождения&quot; FontSize=&quot;12&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;#498C51&quot;/&gt;
                                &lt;TextBox x:Name=&quot;date_birthday_textbox&quot; Width=&quot;200&quot; Height=&quot;30&quot; Text=&quot;{Binding date_birthday}&quot; Background=&quot;{x:Null}&quot; BorderBrush=&quot;#498C51&quot; BorderThickness=&quot;2&quot; HorizontalContentAlignment=&quot;Center&quot; VerticalContentAlignment=&quot;Center&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot;&gt;
                                    &lt;TextBox.Resources&gt;
                                        &lt;Style TargetType=&quot;Border&quot;&gt;
                                            &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                                        &lt;/Style&gt;
                                    &lt;/TextBox.Resources&gt;
                                &lt;/TextBox&gt;
                            &lt;/StackPanel&gt;
                            &lt;StackPanel  Margin=&quot;0,10&quot;&gt;
                                &lt;TextBlock Text=&quot;Серия паспорта&quot; FontSize=&quot;12&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;#498C51&quot;/&gt;
                                &lt;TextBox x:Name=&quot;seria_passport&quot; Width=&quot;200&quot; Height=&quot;30&quot; Text=&quot;{Binding series_passport}&quot; Background=&quot;{x:Null}&quot; BorderBrush=&quot;#498C51&quot; BorderThickness=&quot;2&quot; HorizontalContentAlignment=&quot;Center&quot; VerticalContentAlignment=&quot;Center&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot;&gt;
                                    &lt;TextBox.Resources&gt;
                                        &lt;Style TargetType=&quot;Border&quot;&gt;
                                            &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                                        &lt;/Style&gt;
                                    &lt;/TextBox.Resources&gt;
                                &lt;/TextBox&gt;
                            &lt;/StackPanel&gt;
                            &lt;StackPanel&gt;
                                &lt;TextBlock Text=&quot;Номер паспорта&quot; FontSize=&quot;12&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;#498C51&quot;/&gt;
                                &lt;TextBox x:Name=&quot;number_passport&quot; Width=&quot;200&quot; Height=&quot;30&quot; Text=&quot;{Binding number_passport}&quot; Background=&quot;{x:Null}&quot; BorderBrush=&quot;#498C51&quot; BorderThickness=&quot;2&quot; HorizontalContentAlignment=&quot;Center&quot; VerticalContentAlignment=&quot;Center&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot;&gt;
                                    &lt;TextBox.Resources&gt;
                                        &lt;Style TargetType=&quot;Border&quot;&gt;
                                            &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                                        &lt;/Style&gt;
                                    &lt;/TextBox.Resources&gt;
                                &lt;/TextBox&gt;
                            &lt;/StackPanel&gt;
                            &lt;StackPanel  Margin=&quot;0,10&quot;&gt;
                                &lt;TextBlock Text=&quot;Номер телефона&quot; FontSize=&quot;12&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;#498C51&quot;/&gt;
                                &lt;TextBox x:Name=&quot;number_phone&quot; Width=&quot;200&quot; Height=&quot;30&quot; Text=&quot;{Binding number_phone}&quot; Background=&quot;{x:Null}&quot; BorderBrush=&quot;#498C51&quot; BorderThickness=&quot;2&quot; HorizontalContentAlignment=&quot;Center&quot; VerticalContentAlignment=&quot;Center&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot;&gt;
                                    &lt;TextBox.Resources&gt;
                                        &lt;Style TargetType=&quot;Border&quot;&gt;
                                            &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                                        &lt;/Style&gt;
                                    &lt;/TextBox.Resources&gt;
                                &lt;/TextBox&gt;
                            &lt;/StackPanel&gt;
                            &lt;StackPanel&gt;
                                &lt;TextBlock Text=&quot;Электронная почта&quot; FontSize=&quot;12&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;#498C51&quot;/&gt;
                                &lt;TextBox x:Name=&quot;email&quot; Width=&quot;200&quot; Height=&quot;30&quot; Text=&quot;{Binding email}&quot; Background=&quot;{x:Null}&quot; BorderBrush=&quot;#498C51&quot; BorderThickness=&quot;2&quot; HorizontalContentAlignment=&quot;Center&quot; VerticalContentAlignment=&quot;Center&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot;&gt;
                                    &lt;TextBox.Resources&gt;
                                        &lt;Style TargetType=&quot;Border&quot;&gt;
                                            &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                                        &lt;/Style&gt;
                                    &lt;/TextBox.Resources&gt;
                                &lt;/TextBox&gt;
                            &lt;/StackPanel&gt;
                            &lt;StackPanel  Margin=&quot;0,10&quot;&gt;
                                &lt;TextBlock Text=&quot;Номер полиса&quot; FontSize=&quot;12&quot; FontFamily=&quot;Comic Sans MS&quot; Foreground=&quot;#498C51&quot;/&gt;
                                &lt;TextBox x:Name=&quot;number_policy&quot; Width=&quot;200&quot; Height=&quot;30&quot; Text=&quot;{Binding number_policy}&quot; Background=&quot;{x:Null}&quot; BorderBrush=&quot;#498C51&quot; BorderThickness=&quot;2&quot; HorizontalContentAlignment=&quot;Center&quot; VerticalContentAlignment=&quot;Center&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot;&gt;
                                    &lt;TextBox.Resources&gt;
                                        &lt;Style TargetType=&quot;Border&quot;&gt;
                                            &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                                        &lt;/Style&gt;
                                    &lt;/TextBox.Resources&gt;
                                &lt;/TextBox&gt;
                            &lt;/StackPanel&gt;
                        &lt;/StackPanel&gt;
                    &lt;/WrapPanel&gt;
                &lt;/DataTemplate&gt;
            &lt;/ItemsControl.ItemTemplate&gt;
        &lt;/ItemsControl&gt;

    &lt;/StackPanel&gt;
    &lt;Grid Grid.Row=&quot;3&quot; Background=&quot;#76E383&quot;&gt;
        &lt;StackPanel Orientation=&quot;Horizontal&quot; VerticalAlignment=&quot;Center&quot; HorizontalAlignment=&quot;Center&quot;&gt;
            &lt;Button x:Name=&quot;save&quot; Content=&quot;СОХРАНИТЬ&quot; Background=&quot;#498C51&quot; Width=&quot;130&quot; Height=&quot;30&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot; Margin=&quot;0,0,10,0&quot; Click=&quot;save_Click&quot; BorderBrush=&quot;{x:Null}&quot;&gt;
                &lt;Button.Resources&gt;
                    &lt;Style TargetType=&quot;Border&quot;&gt;
                        &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                    &lt;/Style&gt;
                &lt;/Button.Resources&gt;
            &lt;/Button&gt;
            &lt;Button x:Name=&quot;back&quot; Content=&quot;НАЗАД&quot; Background=&quot;#498C51&quot; Width=&quot;130&quot; Height=&quot;30&quot; FontSize=&quot;15&quot; FontFamily=&quot;Comic Sans MS&quot; Click=&quot;back_Click&quot; IsCancel=&quot;True&quot; BorderBrush=&quot;{x:Null}&quot;&gt;
                &lt;Button.Resources&gt;
                    &lt;Style TargetType=&quot;Border&quot;&gt;
                        &lt;Setter Property=&quot;CornerRadius&quot; Value=&quot;10&quot;/&gt;
                    &lt;/Style&gt;
                &lt;/Button.Resources&gt;
            &lt;/Button&gt;
        &lt;/StackPanel&gt;
    &lt;/Grid&gt;
&lt;/Grid&gt;

CS код:

using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Session1.Classes;

namespace Session1.Pages { /// <summary> /// Логика взаимодействия для RedactorClient.xaml /// </summary> public partial class RedactorClient : Page { bool rewrite; public RedactorClient(string id, int type_polic) { InitializeComponent(); if(id != null) { rewrite = true; NFR.ItemsSource = Load.getDataClient(id); comboboxPolicy.SelectedIndex = type_polic; } else { rewrite = false; } }

    private void back_Click(object sender, RoutedEventArgs e)
    {
        NavigationService.Navigate(new MenuAdministator());
    }

    private void save_Click(object sender, RoutedEventArgs e)
    {
        if (rewrite == true)
        {
            Load.saveClient(NFR.ToString(), true);
        }
        else
        {
            Load.saveClient(NFR.ToString(), false);
        }
    }
}

}

Фоточки дебага:

введите сюда описание изображения

gw gw
  • 95
  • 6
  • 1
    Не храните данные в UI! Вот взять допустим этот сайт, SO, вы видите комментарии, вопросы, и прочее, как думаете, они где хранятся? На сервере в базе, или в HTML, который потом передается клиенту? Я думаю, ответ очевиден. Также и тут, почему вы вдруг хотите в UI, в кнопке, текстбоксе и прочем, сохранить какие-либо данные? Им там место? Нет. Так может стоит начать правильно писать проект, отделить данные от UI? Использовать механизм привязок? Создайте класс, укажите его как DataContext окна, в этом классе сделайте публичное свойство коллекции, загрузите туда данные, а в XAML просто привяжите. – EvgeniyZ Dec 04 '22 at 18:29
  • @EvegniyZ я не храню данные в UI, это страница с редактированием записи, туда автоматически должны сунуться данные, сейчас мне крайне срочно нужно решить это методом говна и палок. К сожалению пока что нет времени делать через MVVM – gw gw Dec 04 '22 at 18:32
  • @EvgeniyZ я использую DataTable для хранения данных и с помощью binding вяжу данные с DataTable , разве это не правильно? – gw gw Dec 04 '22 at 18:35
  • На скрине вы что делаете? NFR это что? Хм наверно <ItemsControl x:Name="NFR">? Данные вы от куда достать хотите? NFR.Items? NFR.ToString() (что за ерунда..?)? Другими словами, вы засунули в контрол данные и теперь с ним работаете, вытягивая из него нужное, когда как у вас должно это быть все раздельно. Даже вопрос у вас звучит Как получить значение всех элементов ItemsControl, что сразу показывает ваши намерения вытягивания данных из UI контрола. – EvgeniyZ Dec 04 '22 at 18:38
  • @EvgeniyZ в принципе все верно, фактически я хочу получить массив со значениями из ItemsControl – gw gw Dec 04 '22 at 19:27
  • @EvgeniyZ я написал NFR.ToString() для того, чтобы просто видеть в дебаге. Если я не ошибаюсь, я могу посмотреть содержимое не зависимо от метода, который вызову, будь то ToString() или Items – gw gw Dec 04 '22 at 19:32
  • Ну вот это ваша основная проблема, и тут даже дело не в MVVM, я вам не предлагаю его, тут дело в архитектуре проекта, в ООП и прочем, ведь у вас банально один участок делает задачи не предназначенные для него. У вас должно быть как: Делаете публичное свойство с типом данных, например publi List<Person> Persons { get; private set; } Дальше вы делаете Persons = Load.getDataClient(id);, а где надо взять данные, то вы делаете var result = Persons....;. Ну а UI, если не хотите по уму, то NFR.ItemsSource = Persons;, ну а по уму привязки, там тогда автоматом обновит все. – EvgeniyZ Dec 04 '22 at 19:36
  • @EvgeniyZ вы говорите Другими словами, вы засунули в контрол данные и теперь с ним работаете, вытягивая из него нужное, когда как у вас должно это быть все раздельно, как понять раздельно? и как я с ним работаю, максимум для чего мне нужен контрол, засунуть значения в textbox-ы или вытащить если значения поменялись. Разве это не правильно? – gw gw Dec 04 '22 at 19:38
  • Как видите, в примере выше, идет отделение данных от UI, нет работы с UI контролом, как с источником данных. Вот в этом направлении и надо вам двигаться, а не в "получить значения всех элементов ItemsControl". Ну и привязки, не ленитесь, чтоб они заработали, достаточно задать DataContext и в XAML тогда уже писать <ItemsControl ItemsSource = "{Binding Persons}">, все... – EvgeniyZ Dec 04 '22 at 19:39
  • Разве это не правильно? - вы правильный подход изначально отклонили. Правильный подход, это когда у вас нету вообще x:Name, когда вы можете взять и удалить весь XAML и у проекта у вас будет работать без ошибок, когда вы можете заменить весь UI, например на консоль без каких-либо проблем, ну и так далее. Вот это все "Правильный подход". А когда вы работаете с контролами через C# код, это не правильный подход, это нарушение многих правил) – EvgeniyZ Dec 04 '22 at 19:41
  • @EvgeniyZ т.е вы предлагаете отказаться от CS у страниц(окон), все время пилить в xaml, а данные из какого-нибудь класса отдельного – gw gw Dec 04 '22 at 19:41
  • Могу как пример дать вам этот ответ. Там и DataTable используется, и привязки, и все в этом духе, прям минимальных, хороших пример того, как должно быть. Обратите внимание на то, что там нет ни единого x:Name, мой C# код не знает вообще про XAML контролы, но все как видите прекрасно работает. – EvgeniyZ Dec 04 '22 at 19:45
  • @EvgeniyZ пару вопросов по тому ответу 1) что если у вас 1000 записей в бд, я видел там вы создали items-ы, для примера самое то, но у меня бд 2) для работы с таблицей вы используете Linq? 1 вопрос я понял, я буду использовать DataTable – gw gw Dec 04 '22 at 19:50
  • А это не относится ведь к текущей теме, вы можете там писать что угодно и как угодно. Тут сама суть в подходе проектирования вашего проекта, как и что друг с другом взаимодействует, разделении. Ведь основа любого WPF (и новее) проекта - это XAML и Binding, вот их вам и надо освоить. А работа с базой и прочим, это уже дело десятое, я допустим терпеть не могу Ado.Net, а вы вот используете) Под свои задачи как говорится. Если всеж интересны эти ответы, то 1. Без разницы, вы так или иначе получаете DataTable и его производные. 2. Из LINQ там только .Select(). – EvgeniyZ Dec 04 '22 at 19:56
  • @EvgeniyZ тогда мне придётся для binding использовать всякие методы, типо INotifyChanged. Есть мануалочки про бинды? ибо я нашел одну, но там как-то не особо подробно – gw gw Dec 05 '22 at 03:26
  • @EvgeniyZ на счет x:name вы кнч не правы, в любом случае нужно использовать, чтобы при создании обработчиков событий, хотя бы понимать, что это за метод ты создал. Может у вас есть аргумент на этот счет? – gw gw Dec 05 '22 at 03:28
  • Правы или нет, я убеждать не буду, делайте как знаете. Я спокойно пишу кучу проектов и там нет ни единого x:Name, нет обработчиков событий, и прочего, это спокойно заменяется привязками, командами и прочими прелестями WPF. Считаете, что я не прав - делайте как знаете, пример я выше дал, который показал, что без контролов проект идеально работает, этого думаю достаточно для доказательств. INotifyChanged- он нужен если вы меняете свойство из кода во время работы приложения, достаточно найти любую удобную реализацию в интернете и ее использовать. "Мануал" - могу свои ответы посоветовать. – EvgeniyZ Dec 05 '22 at 11:42
  • @EvgeniyZ буду признателен, если накидаете ссылочки – gw gw Dec 05 '22 at 19:57
  • Мне сложно что либо советовать вам без какой либо конкретики) Ну как минимум, можете начать с этого. – EvgeniyZ Dec 07 '22 at 17:59

0 Answers0