WPF // MahApps.Metro // Caliburn.Micro // Flyout // Headered



由于mahapps.metro 1.5.0的更改,飞机的基本元素从 ContentControl更改为 HeaderContentControl。现在使用caliburn.micro和该建议不再起作用的MVVM方法了。

其他人是否尝试过以不错的MVVM方式解决此问题?

虽然我自己没有尝试过,但是由于新的Flyout控件是基于HeaderedContentControl,这将是一个简单的逻辑选择,而不是尝试这样做,而不是基于以前的逻辑在ContentControl上。看起来这种变化的优点是消除了几个依赖性属性...

<controls:FlyoutsControl.ItemTemplate>
  <DataTemplate>
    <HeaderedContentControl cal:View.Model="{Binding}" />
  </DataTemplate>
</controls:FlyoutsControl.ItemTemplate>

您可能会创建一个caliburn的另一件事。Micro约定实际上正确地绑定到该HeaderedContentControl,这与ContentControl变体没有什么不同,默认情况下是CM中的。奇怪的是,该HeaderedContentControl是从ContentControl得出的理论上应该正确找到的。要考虑的另一件事是,这实际上也可能与CM在树上看不到的视觉树有关,因此无法绑定。

CM源中的内容控制大会作为参考。

我添加了在github上发布的工作。

看来设置FlyoutsControlItemTemplate有些事情。

最新更新