Форум программистов, компьютерный форум, киберфорум
Наши страницы

C#: WPF, UWP и Silverlight

Войти
Регистрация
Восстановить пароль
 
 
skilllab
135 / 132 / 26
Регистрация: 03.02.2011
Сообщений: 1,624
Завершенные тесты: 1
#1

Изменение значения readonly - C# WPF/.NET 4.x

09.01.2017, 00:26. Просмотров 407. Ответов 21
Метки нет (Все метки)

Работаю с WPF, но не пойму куда точно это отнести. Поэтому пока сюда.
Итак:
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
public class MaterialRow : INotifyPropertyChanged
{ 
    private readonly double realCountByHand;
 
   public double CountByHand
   {
       get
       {
           return ((MaterialSpecification)Item).CountByHandKIT;
       }       
       set
       {
          ((MaterialSpecification)Item).CountByHandKIT = value;
          
          if (realCountByHand != value)
          {
              //Действия
          }
          else
          {
              //Действия
          }
       }
   }
 
   public MaterialRow (MaterialSpecification materialItem, double realCountFromKit = 1)
   {
      realCountByHand = materialItem.CountByHandKIT*realCountFromKit;
   }
}
При изменении CountByHand изменяется поле realCountByHand.
- Почему?
- Можно ли как то сделать неизменяемое поле, значение которого будет задаваться в конструкторе и состоящее из операций (у меня умножение) других полей в других классах-параметрах?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2017, 00:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос .NET 4.x Изменение значения readonly (C# WPF):

.NET 4.x реестр.изменение значения - C#
Пишу под WF.Нужно программно изменить рисунок раб. стола,т.е. достучатся до реестра и в нужных регистрах внести нужные изменения..вот код...

Изменение значения поля самописным атрибутом - C#
Есть свойство public string Trance {get;set;} Можно ли с помощью атрибута на лету получать и изменять его данные? Это мне нужно...

Изменение значения переменных в другой программе - C#
Всем привет!! У меня есть некая программа написанная мной на C#. Мне нужно изменить у этой программы значение переменных использую...

Изменение значения при приведении типов - C#
Привет форумчане! Вот часть программы: u = 64000; s = (short) u; console.Writeline("s после присвоения 64000: " + u + "-- с...

Реакция ячейки DataGrid на изменение текущего значения - C# WPF
Всем привет! Имеется DataGrid с прибинденной к нему коллекцией объектов некоторого класса. Подскажите способ реализовать реакцию...

Изменение видимости кнопок в зависимости от значения CheckBox - C# WPF
Есть CheckBox и 2 элемента TextBox и Button Когда устанавливаю значение True TextBox и Button должны появляться А когда...

21
skilllab
135 / 132 / 26
Регистрация: 03.02.2011
Сообщений: 1,624
Завершенные тесты: 1
09.01.2017, 14:04  [ТС] #16
Цитата Сообщение от SharpDeveloper Посмотреть сообщение
И как же оно может изменяться при изменении CountByHand?
Повторяю - для этого данный форум и существует. Для помощи, поиска и исправления своих ошибок. Вашу помощь в виде MSDN я уже принял, неспасибо
Теперь попробую от других участников.
0
SharpDeveloper
134 / 131 / 15
Регистрация: 16.02.2012
Сообщений: 453
09.01.2017, 14:12 #17
Есть еще вариант - смотрел на CountByHand, а думал на переменную. Но вероятнее всего действительно создаётся новый инстанс, что автор попросту просмотрел.
0
kolorotur
Эксперт .NET
9204 / 7717 / 1235
Регистрация: 17.09.2011
Сообщений: 13,293
09.01.2017, 14:29 #18
skilllab, создайте коллекцию ровно из одного экземпляра RefMaterialRow, чтобы в гриде была одна строчка. Попробуйте воспроизвести баг.
Ну и не путайте свойство CountByHand и поле realCountByHand
0
skilllab
135 / 132 / 26
Регистрация: 03.02.2011
Сообщений: 1,624
Завершенные тесты: 1
09.01.2017, 17:43  [ТС] #19
kolorotur, угу.

Добавлено через 31 секунду
и с этим тоже сделаю
Цитата Сообщение от kolorotur Посмотреть сообщение
this.GetHashCode()
Добавлено через 53 минуты
Цитата Сообщение от skilllab Посмотреть сообщение
Класс - del
Класс окна - там меняю значение, del
Класс - RefMaterialRow
Класс окна - SpecificationTableView
Цитата Сообщение от skilllab Посмотреть сообщение
Файлы загружайте на форум
угу, запамятовал.

Добавлено через 2 часа 19 минут
Блин. Да.
В других дебрях при переприсваивании свойств действительно был код обновления всей ViewModel (а это значит пересоздание таблицы). Когда-то использовался для обновления глубоко зарытых данных в свойствах айтемов коллекции. До поры до времени не мешал, на производительности не сказывался. Код не рефакторился пока. Ну, буду знать))
0
SharpDeveloper
134 / 131 / 15
Регистрация: 16.02.2012
Сообщений: 453
09.01.2017, 18:03 #20
Короче чуда не произошло.
0
skilllab
135 / 132 / 26
Регистрация: 03.02.2011
Сообщений: 1,624
Завершенные тесты: 1
09.01.2017, 18:04  [ТС] #21
SharpDeveloper, а ты ждал, надеялся и верил? Хочешь ещё раз напомню зачем форум существует?
0
kolorotur
Эксперт .NET
9204 / 7717 / 1235
Регистрация: 17.09.2011
Сообщений: 13,293
09.01.2017, 18:18 #22
Цитата Сообщение от skilllab Посмотреть сообщение
В других дебрях при переприсваивании свойств действительно был код обновления всей ViewModel (а это значит пересоздание таблицы).
Ну, хорошо что проблема решилась
0
09.01.2017, 18:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2017, 18:18
Привет! Вот еще темы с ответами:

.NET 4.x Отследить изменение значения переменной и выполнить действие - C# WPF
Всем доброго времени суток. Минуту назад хотел уже написать было сюда просьбу о помощи. Но поразмыслив лишнюю минуту из более часа, который...

Изменение ObservableCollection: автоматическое изменение свойства при изменении в DataGrid - C# WPF
Здравствуйте. Имеется коллекция на 35 параметров. Значения 2 главных параметров складываются из определенных сумм остальных. Вывожу...

Изменение свойства readonly - JavaScript
Здравствуйте. У меня есть форма и поле textarea с установленным readonly Мне нужно, чтобы при нажатии на кнопку форма становилась...

Изменение свойства ReadOnly редактора Edit - Delphi
Я хочу, чтобы при выборе одного значения из RadioBox свойству ReadOnly редактора Edit присваивалось значение False. А при выборе второго -...


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

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

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