3
MVVM
スキームに従って現在のWPF
アプリケーションを最適化するために、フレームワークを使用しようとしています。ボタンの動作を設定するには、ボタンの値をx:Name
に設定して、ビューモデルに同じ名前の関数を追加するだけで、通常どおり問題なく実行できます。あなたがControlTemplate
の中でこれをしようとすると、物事(少なくとも私にそうそうです)はもっと複雑になります。私の現在のアプローチは、このコードのようになります。Caliburn.Micro:ControlTemplate内のボタンの動作
<ItemsControl x:Name="Chains">
<ItemsControl.Template>
<ControlTemplate TargetType="ItemsControl">
<StackPanel>
<ContentControl/>
<ItemsPresenter />
<Button Content="+" x:Name="AddChain"/>
</StackPanel>
</ControlTemplate>
</ItemsControl.Template>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
しかし悲しいことに、このコードが置かれているview
に対応ViewModel
のAddChain
メソッドが呼び出されることはありません。
私はこのViewModel
ないControlTemplate
に対応ViewModel
を使用するようにCaliburn
を伝えるために持っていることと思います。これは正しいです?どうすれば問題を解決できますか?