Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
FerrariF70
0 / 0 / 1
Регистрация: 04.02.2017
Сообщений: 82
1

У CheckBox есть индексы?

11.08.2018, 16:51. Просмотров 915. Ответов 21
Метки нет (Все метки)

Скажите пожалуйста у CheckBox существуют ли индексы? как можно узнать какой ChekBox именно я отметил?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.08.2018, 16:51
Ответы с готовыми решениями:

CheckBox в ListBox. Как получить индексы выбранных элементов
Добрый вечер. Только учусь. В приложении требуется реализовать функцию удаления...

ComboBox состоящий из CheckBox и TextBlock, установка SelectedItem соответственно CheckBox
Есть ComboBox состоящий из CheckBox и TextBlock, мне нужно чтобы SelectedItem...

Есть таблица DataTable и есть sql запрос, можно ли им вытащить данные из таблицы
А если конкретней, то вот сам запрос select ID, case 0 when...

Узнать, есть ли в Dictionary искомый ключ, если есть, то вернуть ссылку на экземпляр ключа
Здравствуйте, у меня есть Dictionary: Dictionary<Keys, List<string>> Mass =...

CheckBox
Как реализовать следующие: при выборе CheckBox появляется панель. Если значок...

21
Элд Хасп
445 / 319 / 102
Регистрация: 21.04.2018
Сообщений: 1,292
11.08.2018, 19:17 2
Цитата Сообщение от FerrariF70 Посмотреть сообщение
у CheckBox есть индексы
Индексов нет - они же в не одном массиве. Есть имена.
Можете записать индексы в Tag свойство. И потом в общем обработчике опрашивайте это свойство.
0
FerrariF70
0 / 0 / 1
Регистрация: 04.02.2017
Сообщений: 82
11.08.2018, 19:52  [ТС] 3
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Можете записать индексы в Tag свойство
а откуда мне взять индексы и Tag надо прописать в XAML или в самом code behind если можно пример то было бы классно
заранее спасибо!
0
Элд Хасп
445 / 319 / 102
Регистрация: 21.04.2018
Сообщений: 1,292
11.08.2018, 20:22 4
Можно в коде, можно в XAML - разницы нет.
Допустим, вставьте после инициализации элементов:
C#
1
2
3
4
CheckBox1.Tag = 1;
CheckBox2.Tag = 2;
CheckBox3.Tag = 3;
CheckBox4.Tag = 4;
0
Casper-SC
Эксперт .NET
3618 / 1827 / 355
Регистрация: 27.03.2010
Сообщений: 5,136
Записей в блоге: 1
11.08.2018, 20:27 5
Есть события Checked и Unckecked, подпиши все CheckBox(ы) на один обработчик на оба события. Внутри обработчика можно получить доступ к CheckBox(у), который отметили через параметр метода обработчика object sender, приведя его к CheckBox.
C#
1
var checkBox = (CheckBox)sender;
0
Элд Хасп
445 / 319 / 102
Регистрация: 21.04.2018
Сообщений: 1,292
11.08.2018, 20:39 6
Есть ещё вариант, в некоторых случаях удобнее. Если в Content храниться текст, то можно сравнивать текст с эталоном.
Допустим, эталонный текст (или другой тип Content) записан у Вас в массиве. То можно так
C#
1
2
            Object[] Standard = { "Первый", "Второй", "Третий", "Четвёртый" };
            int Index = Array.IndexOf(Standard, ((CheckBox)sender.Content));
0
Casper-SC
Эксперт .NET
3618 / 1827 / 355
Регистрация: 27.03.2010
Сообщений: 5,136
Записей в блоге: 1
11.08.2018, 20:52 7
Элд Хасп, а если потом в будущем нужно будет сделать поддержку локализации? Думаю, что это точно не вариант. Просто не понимаю, где это может понадобиться в таком виде. Если нужно просто получать именно индекс какой-то из CheckBox, то проще в Tag его вписать или поместить ссылки на каждый CheckBox в массив и искать уже индекс по ссылке на сам CheckBox, а не на текст. Текст лишь привнесёт проблем и ничем не улучшит ситуацию.

Добавлено через 3 минуты
И это, в коде после приведения к типу CheckBox обращение к свойству с ошибкой.

Общепринятая практика именовать переменные с маленькой буквы. Я сколько кода разного видел, какой фигни в нём только не было, но всегда переменные именовались с маленькой буквы (встречались места с большой, но это было редко и в паре тройке методов).

Не по теме:

К слову, я просто указываю на ошибки и высказываю своё мнение, не принимай близко к сердцу :)



Добавлено через 4 минуты
Кстати, твой вариант тоже, в принципе, для удобочитаемости бы подошёл, но тогда текст, в идеале, нужно было бы поместить в Tag и написать его на английском. И получать так, как ты показал. Тут суть в том, что этот текст бы раз написали и не меняли больше, в отличие от текста в Content, который может меняться по многим причинам, не только локализация.
0
Элд Хасп
445 / 319 / 102
Регистрация: 21.04.2018
Сообщений: 1,292
11.08.2018, 21:00 8
Цитата Сообщение от Casper-SC Посмотреть сообщение
Элд Хасп, а если потом в будущем нужно будет сделать поддержку локализации?
Привёл как один из многих допустимых вариантов.
Цитата Сообщение от Casper-SC Посмотреть сообщение
именно индекс какой-то из CheckBox, то проще в Tag его вписать или поместить ссылки на каждый CheckBox в массив
Да, я в начале такой способ указал. Особенно удобен при программном создании элементов.
Цитата Сообщение от Casper-SC Посмотреть сообщение
Общепринятая практика именовать переменные с маленькой буквы.
Я уже и не помню откуда у меня такая привычка. Fortran, Basic... - очень давно всё было.

Добавлено через 2 минуты
Цитата Сообщение от Casper-SC Посмотреть сообщение
Кстати, твой вариант тоже, в принципе, для удобочитаемости бы подошёл...
Скорее всего, это учебное задание и "удобочитаемость", возможно, тоже нужна.
0
FerrariF70
0 / 0 / 1
Регистрация: 04.02.2017
Сообщений: 82
11.08.2018, 23:52  [ТС] 9
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Допустим, вставьте после инициализации элементов:
Если у меня таблица из тысячи строк, то при таком раскладе чтобы каждый Tag инициализировать нужно обращаться в событие не так ли? а у меня например такая задача я выделяю строку из таблицы с помощью СheckBox и хочу удалить эту строку. Тогда мне получается изначально нужно инициализировать все Tag т.е
C#
1
 arrRow[i++] = row.Tag++
<= вот этот код я должен сделать при инициализации и вывода на таблицу. Мне не совсем понятна каким образом проходит инициализация
0
Элд Хасп
445 / 319 / 102
Регистрация: 21.04.2018
Сообщений: 1,292
12.08.2018, 02:00 10
Если СheckBox установлен в каком-либо другом объекте (в Вашем случае, как я понял, в строке таблицы), то надо проанализировать родительский объект - свойство Parent. Скорее всего, в нём будет содержаться указатель на строку или ячейку в которой установлен СheckBox. Зависит от конкретной реализации. Получив родительский объект, Вы уже сможете делать с ним, что захотите.

Добавлено через 3 минуты
Если я не правильно Вас понял, то скиньте или объясняющий кусок кода, или проект. Так будет понятнее.

Добавлено через 11 минут
Parent имеет тип Object. Чтобы получить конкретный тип который в нём хранится, можно поставить точку останова в обработчике прерывания и в отладчике посмотреть. Если, то что Вам необходимо, потом в коде использовать Parent добавив явное преобразование в нужный тип.
0
FerrariF70
0 / 0 / 1
Регистрация: 04.02.2017
Сообщений: 82
12.08.2018, 13:02  [ТС] 11
Вы меня совершенно правильно поняли и я вас понял насчёт родительского способа чтобы подобраться к CheckBox я этого никогда не реализовывал. вам покажу конкретный код лучше чтоб было понятнее и направите меня как мне правильно сделать. спасибо!


это у меня столбец в таблице только для CheckBox.
XML
1
2
3
4
5
6
7
8
9
10
<GridViewColumn Width="Auto">
<Button Content="Delete" BorderBrush="Black" Background="Red" BorderThickness="3" Click="deleteBtn"/>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Border Margin="-6,-3" BorderThickness="1" BorderBrush="Black">
<CheckBox x:Name="checkBox" Checked="deleteLine" Tag="TagIndex" IsChecked="False" Unchecked="CheckBox_Unchecked" Height="20" Margin="6,3"/>
</Border>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
    public partial class DBProducts : Page
    {
        private string file;
        
        public static string SearchItem { get; set; }
        private ObservableCollection<ClassProducts> list = null;
        CheckBox check = new CheckBox();
        public DBProducts(string Class)
        {
            InitializeComponent();
            file = getFile(Class);
            Loaded += new RoutedEventHandler(ShowDBTable);
        }
        public void ShowDBTable(object sender, RoutedEventArgs e)  //тут происходит инициализация и вывод на таблицу
        {
 
            using (TextFieldParser tfp = new TextFieldParser(file))
            {
                list = new ObservableCollection<ClassProducts>();
               
                tfp.TextFieldType = FieldType.Delimited;
                tfp.SetDelimiters(";");
 
                while (!tfp.EndOfData)
                {
                    string[] line = tfp.ReadFields();
                    if (line[1].Equals(SearchItem))
                    {
                        list.Add(new ClassProducts(line[0], line[1], line[2], line[3], Colors.Orange));
                        continue; 
                    }
                    
                    list.Add(new ClassProducts(line[0], line[1], line[2], line[3],Colors.White));
                }
                ObjectList.ItemsSource = list;
            }
            SearchItem = string.Empty;
        }
 
        private void deleteLine(object sender, RoutedEventArgs e) // событие когда я помечаю галочкой
        {
            CheckBox check = sender as CheckBox;
            check.Tag = 2;
 
            if(check.IsChecked == true)
            {
              
            }
        }
 
        private void CheckBox_Unchecked(object sender, RoutedEventArgs e) // событие отмена галочки 
        {
 
        }
    }
0
Элд Хасп
445 / 319 / 102
Регистрация: 21.04.2018
Сообщений: 1,292
12.08.2018, 14:42 12
Компа под рукой нет. Поэтому пишу без проверки.
В обработчике deleteLine вставьте строчки
C#
1
2
            DataGrid Parent = (DataGrid)((CheckBox)sender).Parent; // Получение ссылки на родительский объект
            int Index = Parent.SelectedIndex; // Индекс выделенного элемента
И проверьте их значения в отладчике. По моему должно работать.

Добавлено через 21 минуту
И как я понял, CheckBox у Вас не удаляет, а отмечает строку. Удалять отмеченные у Вас должна кнопка "Delete" в обработчике deleteBtn, а этого обработчика я у Вас в коде не вижу.
Если смотреть на общую логику, Вам не надо находить в CheckBox его строку. Работать должно примерно так:
  1. Кнопке "Delete" дайте имя (здесь далее ButtonDelete). Она вначале не активна ButtonDelete.IsEnabled = false
  2. По отметке в CheckBox в обработчике Checked="deleteLine", делаете кнопку активной ButtonDelete.IsEnabled = true
  3. По снятии отметки в событии Unchecked="CheckBox_Unchecked" проверяете сколько у Вас отмеченных строк, если это последняя, то опять делаете кнопку не активной ButtonDelete.IsEnabled = false
  4. При нажатии на кнопку в событии Click="deleteBtn", считаете сколько у Вас отмеченных строк, выводите предупреждение и, после подтверждения, удаляете все отмеченные.
Как видите, в таком алгоритме определение в какой строке произошли события CheckBox не нужно.

Добавлено через 24 минуты
И ещё немного о правилах форума. Мы уже отклонились от названия в теме. И по правилам, надо сделать новую тему. Если нужны дополнительные разъяснения, помощь - лучше создайте новую тему с уточнённым вопросом.
1
Casper-SC
Эксперт .NET
3618 / 1827 / 355
Регистрация: 27.03.2010
Сообщений: 5,136
Записей в блоге: 1
12.08.2018, 15:06 13
Лучший ответ Сообщение было отмечено FerrariF70 как решение

Решение

Вот как это должно быть сделано (допускаем, что коллекция объявлена в CodeBehind окна, а не в отдельной вью модели):
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<Window x:Class="WpfDataGrid.Views.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:viewModels="clr-namespace:WpfDataGrid.ViewModels"
        Title="MainWindow"
        Width="800"
        Height="450"
        mc:Ignorable="d" 
        DataContext="{Binding Mode=OneWay, RelativeSource={RelativeSource Self}}">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
 
        <ListView Margin="10,10,10,0" ItemsSource="{Binding Collection}">
            <ListView.View>
                <GridView>
                    <GridViewColumn Width="Auto">
                        <Button Content="Delete" BorderBrush="Black" Background="Red" BorderThickness="3" Click="DeleteButton_Click"/>
                        <GridViewColumn.CellTemplate>
                            <DataTemplate DataType="viewModels:SomeItemViewModel">
                                <Border Margin="-6,-3" BorderThickness="1" BorderBrush="Black">
                                    <CheckBox IsChecked="{Binding IsChecked}" Margin="6,3"/>
                                </Border>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                    <GridViewColumn Width="Auto">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate DataType="viewModels:SomeItemViewModel">
                                <Border Margin="-6,-3" BorderThickness="1" BorderBrush="Black">
                                    <TextBlock Text="{Binding Title}" />
                                </Border>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                </GridView>
            </ListView.View>
        </ListView>
 
        <Button Grid.Row="1"
                Width="75"
                Margin="10,6,0,10"
                HorizontalAlignment="Left"
                VerticalAlignment="Top"
                Click="DeleteButton_Click"
                Content="Delete" />
    </Grid>
</Window>
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System.Collections.ObjectModel;
using System.Windows;
using WpfDataGrid.ViewModels;
 
namespace WpfDataGrid.Views
{
    public partial class MainWindow : Window
    {
        public ObservableCollection<SomeItemViewModel> Collection { get; }
 
        public MainWindow()
        {
            Collection = new ObservableCollection<SomeItemViewModel>();
            for (int i = 0; i < 10; i++)
            {
                Collection.Add(new SomeItemViewModel((i + 1).ToString()));
            }
 
            InitializeComponent();
        }
 
        private void DeleteButton_Click(object sender, RoutedEventArgs e)
        {
            for (int i = 0; i < Collection.Count; i++)
            {
                if (Collection[i].IsChecked)
                {
                    Collection.RemoveAt(i);
                    --i;
                }
            }
        }
    }
}
ViewModelBase
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using System.ComponentModel;
using System.Runtime.CompilerServices;
 
namespace WpfDataGrid.ViewModels
{
    public class ViewModelBase : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged([CallerMemberName] string propertyName = null)
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}


SomeItemViewModel
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
namespace WpfDataGrid.ViewModels
{
    public class SomeItemViewModel : ViewModelBase
    {
        private bool _isChecked;
        private string _title;
 
        public bool IsChecked
        {
            get { return _isChecked; }
            set
            {
                _isChecked = value;
                RaisePropertyChanged();
            }
        }
 
        public string Title
        {
            get { return _title; }
            set
            {
                _title = value;
                RaisePropertyChanged();
            }
        }
 
        public SomeItemViewModel(string title)
        {
            _title = title;
        }
    }
}


Добавлено через 1 минуту
И никакие индексы и прочие заморочи с поиском UI элементов не нужны.

Добавлено через 17 секунд
Нам нужно удалять данные из коллекции, а не какую-то там строку из UI.
1
FerrariF70
0 / 0 / 1
Регистрация: 04.02.2017
Сообщений: 82
12.08.2018, 19:58  [ТС] 14
Цитата Сообщение от Casper-SC Посмотреть сообщение
RelativeSource={RelativeSource Self}
мне эта строчка делает проблему в моей программе мой ItemSource="{Binding list}" ругается.
Цитата Сообщение от Casper-SC Посмотреть сообщение
protected void RaisePropertyChanged([CallerMemberName] string propertyName = null)
и тут выдаёт ошибку что это такое CallerMemberName
в моей программе этот метод по другому прописан.
0
Casper-SC
Эксперт .NET
3618 / 1827 / 355
Регистрация: 27.03.2010
Сообщений: 5,136
Записей в блоге: 1
12.08.2018, 21:50 15
Цитата Сообщение от FerrariF70 Посмотреть сообщение
и тут выдаёт ошибку что это такое CallerMemberName
Зайди в справку по дотнету или в гугле вбей, в тысячу раз быстрее узнаешь, чем ждать ответ. Если у тебя такой метод уже есть, то можешь использовать его, а не с моего примера. По поводу твоих вопросов слишком много всего неизвестно. Какая версия дотнета у тебя. В смысле ругается RelativeSource? Он, думаю, какой-то текст пишет. Наводящие вопросы задавать неохота. Чтобы нормально помогали, давай инфы по максимуму.
0
FerrariF70
0 / 0 / 1
Регистрация: 04.02.2017
Сообщений: 82
13.08.2018, 02:42  [ТС] 16
Цитата Сообщение от Casper-SC Посмотреть сообщение
В смысле ругается RelativeSource? Он, думаю, какой-то текст пишет
он пишет в ItemsSource="{Binding list}" "list" в типе "MyClass" должен быть членом экземпляра.
версия .NET 4.7
0
Элд Хасп
445 / 319 / 102
Регистрация: 21.04.2018
Сообщений: 1,292
13.08.2018, 03:04 17
Посмотрите небольшой пример. Может поможет. Но в целом Casper-SC прав. Это всё "костыли". Правильно надо делать по другому.
XML
1
2
3
4
5
6
7
8
    <Grid >
        <DataGrid Name="ExampleGrid" 
                  AutoGeneratingColumn="ExampleGrid_AutoGeneratingColumn" 
                  CurrentCellChanged="ExampleGrid_CurrentCellChanged" />
        <Button x:Name="DeleteButton" Content="Удалить" 
                HorizontalAlignment="Center"  VerticalAlignment="Bottom"  
                IsEnabled="False" Click="DeleteButton_Click"/>
    </Grid>
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
        public class Field
        {
            public bool Checked { get; set; }
            [DisplayName("Имя")]
            public string Name { get; set; }
            [DisplayName("Значение")]
            public string Value { get; set; }
 
        }
        List<Field> result = new List<Field>();
 
        //Формирование заголовков колонок ExampleGrid
        private void ExampleGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
        {
            e.Column.Header = ((PropertyDescriptor)e.PropertyDescriptor).DisplayName;
        }
 
        private void DeleteButton_Click(object sender, RoutedEventArgs e)
        {
            int CheckedCount = (from Field myField in result where myField.Checked select myField).Count();
            MessageBoxResult Btn = MessageBox.Show($"Отмечено {CheckedCount} элементов.\nУдалить их?", "", MessageBoxButton.YesNo);
            if (Btn == MessageBoxResult.Yes)
            {
                result.RemoveAll(myField => myField.Checked);
                DeleteButton.IsEnabled = false;
                ExampleGrid.ItemsSource = null;
                ExampleGrid.ItemsSource = result;
            }
        }
 
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            result.Add(new Field { Name = "Майкл Джексон", Value = "Thriller" }/*(1, "Майкл Джексон", "Thriller", 1982)*/);
            result.Add(new Field { Name = "AC/DC", Value = "Back in Black" }/*(2, "AC/DC", "Back in Black", 1980)*/);
            result.Add(new Field { Name = "Bee Gees", Value = "Saturday Night Fever" }/*(3, "Bee Gees", "Saturday Night Fever", 1977)*/);
            result.Add(new Field { Name = "Pink Floyd", Value = "The Dark Side of the Moo" }/*(4, "Pink Floyd", "The Dark Side of the Moon", 1973)*/);
            ExampleGrid.ItemsSource = result;
        }
 
        private void ExampleGrid_CurrentCellChanged(object sender, EventArgs e)
        {
            if ((from Field myField in result where myField.Checked select myField).Count() == 0)
                DeleteButton.IsEnabled = false;
            else DeleteButton.IsEnabled = true;
        }
Добавлено через 15 минут
FerrariF70, Я понимаю Ваши затруднения, я сам всего месяц всё это изучаю.
Суть в том, что WPF рассчитан на модель MVVM. И данные надо соответствующим образом подготавливать к использованию в WPF. WPF рассчитан только на View часть в MVVM. Поэтому, в WPF нет многих "удобств" для непосредственной работы с элементами, по аналогии с Windows Form. Если собираетесь в дальнейшем использовать WPF, то изучайте MVVM. По другому нормальных приложений делать не сможете.
0
Casper-SC
Эксперт .NET
3618 / 1827 / 355
Регистрация: 27.03.2010
Сообщений: 5,136
Записей в блоге: 1
13.08.2018, 03:50 18
Цитата Сообщение от FerrariF70 Посмотреть сообщение
и тут выдаёт ошибку что это такое CallerMemberName
C#
1
using System.Runtime.CompilerServices;
Во первых, такие вещи можно нагуглить и изнать какое пространство имён у класса (System.Runtime.CompilerServices.CallerMemberName), во вторых, студия сама даёт подсказки, какое прострнство имён нужно подключить, странно, что этого не произошло.

Цитата Сообщение от FerrariF70 Посмотреть сообщение
мне эта строчка делает проблему в моей программе мой ItemSource="{Binding list}" ругается.
А чтобы с этим помочь, нужно видеть XAML окна (хотя бы байндинг) и код класса, к которому привязана коллекция.
Ты точно добавил в XAML окна?
C#
1
DataContext="{Binding Mode=OneWay, RelativeSource={RelativeSource Self}}"
1
Casper-SC
Эксперт .NET
3618 / 1827 / 355
Регистрация: 27.03.2010
Сообщений: 5,136
Записей в блоге: 1
13.08.2018, 03:51 19
Был бы у тебя установлен ReSharper, было бы вообще вот так
0
Миниатюры
У CheckBox есть индексы?  
Casper-SC
Эксперт .NET
3618 / 1827 / 355
Регистрация: 27.03.2010
Сообщений: 5,136
Записей в блоге: 1
13.08.2018, 03:55 20
Точнее нужно не в XAML окна, а как я понял в XAML Page
0
13.08.2018, 03:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2018, 03:55

CheckBox
Здравствуйте! Как в WPF сделать CheckBox в виде кнопки, которая может быть в...

Выяснить, есть ли в матрице ненулевые элементы и если есть, то указать индексы одного из ненулевых элементов
Дана целая квадратная матрица порядка n. Выяснить, есть ли в матрице ненулевые...

Проверить есть ли запись переданная через checkbox в базе, если есть то не заносить её
Проблема следующая. Есть форма, пользователь выбирает checkbox 1,2,10 хоть все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru