♡o。.。o♡o。.。o♡o。.。o♡o。.。o♡o。.。o♡o。.。o♡o。.。o♡
http://garicchi.com/?p=4691
http://garicchi.com/?p=4671
このサイトだけを素人が読むと下記のようなコードになります。
間違っていますか?
実行はきちんとできたのですが、見よう見まねで書き写しました。
もっとわかりやすく理解したいのですがどうすればいいのでしょう゜・(Pдq。)・゜。
♡★♡゚・:.。 。.:・゚♡★♡
目的:
Bind、Class、変数、関数、型を理解したい。
不明点:
・コメントアウトで文頭に????がついている箇所
XAML
1<Grid> 2 <ListBox ItemsSource="{Binding Collection}" Width="200" Height="400" Margin="540,290,626,78" /> 3 <Button Content="Button" HorizontalAlignment="Left" Margin="294,469,0,0" VerticalAlignment="Top" Height="68" Width="158" Click="Button_Click"/> 4 </Grid>
C#
1namespace heart 2{ 3 4 public sealed partial class ListBox_Bind : Page 5 { 6 //????クラスの中にクラスって作るの?それって一般的? 7 public class MainViewModel 8 { 9 //MainViewModelにObservableCollectionを使ったコレクションを実装 10 //ObservableCollectionはアイテムの追加、削除時にCollectionChangedイベントを発行するので変更通知が可能 11 //????Collectionという変数を作る前に登場してる? 12 //????{ get; set; }ってデータの出し入れを可能にするってこと?それでAddしたときに追加されるの? 13 public ObservableCollection<string> Collection { get; set; } 14 15 //????クラス名と、同じ関数がコンストラクタ? 16 public MainViewModel() 17 { 18 //????Collectionには型必要ないの? 19 Collection = new ObservableCollection<string>(); 20 } 21 22 } 23 public ListBox_Bind() 24 { 25 this.InitializeComponent(); 26 //MainViewModelのインスタンス化して実体を持たせたところに、 27 MainViewModel Datanoiremono = new MainViewModel(); 28 //DataContextの代入を行います。DataContextは要素にバインドするデータを表します。 29 this.DataContext = Datanoiremono; 30 } 31 //ボタンをクリックしたら実行される 32 private async void Button_Click(object sender, RoutedEventArgs e) 33 { 34 //ViewModelとはDataContextに(を)、代入されるものでViewModel内に記述した、C#クラスとXAMLUIとのバインドを可能にします。 35 //???? DataContext as MainViewModel何をしているのか何のためかわからない 36 //MainViewModelってなに、クラス名でしょ?何で書かないとダメ? 37 MainViewModel viewModel = DataContext as MainViewModel; 38 39 viewModel.Collection.Add("がりっち"); 40 } 41 } 42}
よろしくおねがいします٩(๑❛ᴗ❛๑)۶
♡o。.。o♡o。.。o♡o。.。o♡o。.。o♡o。.。o♡o。.。o♡o。.。o♡
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。