かきスタンプ

福岡でフリーランスの物流系のエンジニアやってます。

2018-06-01から1ヶ月間の記事一覧

C#(MVVM):Vとバインドしたプロパティに対して VM側で値を変更する処理を記述する場合、アクセサでなくプライベート変数に変更をかけた方がいいのではないかという話。

C#

Vとバインドしたプロパティに対して VM側で値を変更する処理を記述する場合、アクセサでなくプライベート変数に変更をかけた方がいいのではないかという話。 以下、サンプルソースです。 今回の話題に必要なパートのみを抜粋した状態です。 <TextBox Text="{Binding Path=MyVmString01, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" /> <Button Content="AddText" Command="{Binding Path=AddTextCommand}" /> /// <summary> /// プ…</summary></button></textbox>

C#(MVVM):ソースコードにてバインディング設定する方法

C#

xamlでなく、ソースからバインド設定をするには、SetBinding メソッドを使用します。 (例) Button myButton01 = new Button(); // Content に「MyString01」というプロパティとのバインディング設定を追加 myButton01.SetBinding(Button.ContentProperty, …

WPF:ListViewの列を、幅いっぱいに広げる(GridViewにアイテムをセットする場合)

GridView でアイテムをセットした ListView にて、セットした内容を横幅いっぱいに広げるには、カラムの Width を ListView の Width とバインディングさせる方法があります。 (例) <ListView x:Name="myListView01" Width="300"> <ListView.View> <GridView> </gridview></listview.view></listview>

WPF:XAML側で設定した値を、XAML側にてバインディング

V(XAML)と VMとのバインディングは頻繁に使いますが、XAML側で定義した値とのバインディングも可能です。 以下のように、「ElementName」に、XAML側にて定義したNameを指定します。 (例) <TextBox Name="myTextBox01" Text="input" /> <TextBlock Name="myTextBlock01" Text="{Binding Text, ElementName=myTextBox01}" /> この例では、TextBlock の Textに、TextBoxの内容をバインディ</textblock></textbox>…