回答編集履歴

1

wpfやprismに関する処理を削除してただのプロパティな処理に変更、ソース内に補足コメントを追加

2019/01/26 07:50

投稿

len_souko
len_souko

スコア1348

test CHANGED
@@ -30,86 +30,66 @@
30
30
 
31
31
  ```C#
32
32
 
33
- using System;
34
33
 
35
- using System.Collections.Generic;
36
34
 
37
- using System.Linq;
35
+ public class MainWindowVM : BindableBase
38
36
 
39
- using System.Text;
37
+ {
40
38
 
41
- using System.Threading.Tasks;
39
+ // スライダーと出力値、最小値と最大値を入力する場合は
42
40
 
41
+ // publicなプロパティを用意してsetで大小比較や入力可能な範囲のチェックを入れる必要があります
42
+
43
- using Prism.Mvvm;
43
+ //
44
+
45
+ private decimal sliderValueMin = 0.1M;
46
+
47
+ private decimal sliderValueMax = 1.0M;
48
+
49
+ public decimal SliderValueDiff
50
+
51
+ {
52
+
53
+ get { return sliderValueMax - sliderValueMin; }
54
+
55
+ }
44
56
 
45
57
 
46
58
 
47
- namespace WpfApp3
59
+ private int SlideResultValueMin = 300;
48
60
 
49
- {
61
+ private int SlideResultValueMax = 22000;
50
62
 
63
+ private int SlideResultValueDiff = SlideResultValueMax - SlideResultValueMin;
64
+
65
+
66
+
67
+ private decimal slideInputValue = 0M;
68
+
51
- public class MainWindowVM : BindableBase
69
+ public decimal SlideInputValue
52
70
 
53
71
  {
54
72
 
73
+ get { return slideInputValue; }
55
74
 
56
-
57
- private static decimal sliderValueMin = 0.1M;
58
-
59
- private static decimal sliderValueMax = 1.0M;
60
-
61
- public decimal SliderValueDiff
75
+ set
62
76
 
63
77
  {
64
78
 
65
- get { return sliderValueMax - sliderValueMin; }
79
+ slideInputValue = value;
66
80
 
67
81
  }
68
82
 
69
-
83
+ }
84
+
85
+ public decimal SlideValue => sliderValueMin + slideInputValue;
70
86
 
71
87
 
72
88
 
73
- private static readonly int SlideResultValueMin = 300;
89
+ public int SlideResultValue => (int)Math.Round((slideInputValue) * (SlideResultValueDiff / SliderValueDiff) + SlideResultValueMin);
74
90
 
75
- private static readonly int SlideResultValueMax = 22000;
91
+ }
76
-
77
- private static readonly int SlideResultValueDiff = SlideResultValueMax - SlideResultValueMin;
78
92
 
79
93
 
80
94
 
81
- private decimal slideInputValue = 0M;
82
-
83
- public decimal SlideInputValue
84
-
85
- {
86
-
87
- get { return slideInputValue; }
88
-
89
- set
90
-
91
- {
92
-
93
- SetProperty(ref slideInputValue, value);
94
-
95
- RaisePropertyChanged(nameof(SlideValue));
96
-
97
- RaisePropertyChanged(nameof(SlideResultValue));
98
-
99
-
100
-
101
- }
102
-
103
- }
104
-
105
- public decimal SlideValue => sliderValueMin + slideInputValue;
106
-
107
-
108
-
109
- public int SlideResultValue => (int)Math.Round((slideInputValue) * (SlideResultValueDiff / SliderValueDiff) + SlideResultValueMin);
110
-
111
- }
112
-
113
- }
114
-
115
95
  ```