teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

C# のバージョンを落とす

2018/02/21 07:18

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -11,7 +11,7 @@
11
11
 
12
12
  protected void OnPropertyChanged(string propertyName)
13
13
  {
14
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
14
+ if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
15
15
  }
16
16
 
17
17
  private string title;
@@ -25,7 +25,7 @@
25
25
  {
26
26
  if (title == value) return;
27
27
  title = value;
28
- OnPropertyChanged(nameof(Title));
28
+ OnPropertyChanged("Title");
29
29
  }
30
30
  }
31
31
  }

1

追記

2018/02/21 07:18

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -1,2 +1,32 @@
1
1
  いまひとつ何がしたいのかよくわからないんですが、とりあえず ModeModel は INotifyPropertyChanged を実装してないのでバインドできないはずです。
2
- これ以上聞かれても、結局どうなれば正解なのかがわからないので答えられません。
2
+ これ以上聞かれても、結局どうなれば正解なのかがわからないので答えられません。
3
+
4
+ ###追記
5
+ INotifyPropertyChanged を実装した ModeModel のサンプルです。
6
+
7
+ ```C#
8
+ class ModeModel : INotifyPropertyChanged
9
+ {
10
+ public event PropertyChangedEventHandler PropertyChanged;
11
+
12
+ protected void OnPropertyChanged(string propertyName)
13
+ {
14
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
15
+ }
16
+
17
+ private string title;
18
+ public string Title
19
+ {
20
+ get
21
+ {
22
+ return title;
23
+ }
24
+ set
25
+ {
26
+ if (title == value) return;
27
+ title = value;
28
+ OnPropertyChanged(nameof(Title));
29
+ }
30
+ }
31
+ }
32
+ ```