より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

ReadOnlyReactivePropertyを使う

だいぶ、 ReactivePropertyを使ったのですが、まだReadOnlyReactivePropertyを使いこなしてませんでした。

QuickConverterもあるが、ConvertBackを使わない表示用だけだったら、こっちの方がプログラムで複雑なロジックもかけます。

CombineLatestも使えるので複数のプロパティの組み合わせもできますね。

BlockPositionText = BlockPosition.Select(p => $"({p.X},{p.Y})").ToReadOnlyReactiveProperty();

MultiBindingを使えますが、使うと

<MultiBinding StringFormat="({0},{1})">
     <Binding Path="ViewModel.BlockPosition.Value.X" />
     <Binding Path="ViewModel.BlockPosition.Value.Y" />
</MultiBinding>

とコードの量がやや多い気がしますね。