【发布时间】:2017-12-31 19:32:03
【问题描述】:
我遇到了一个烦人的问题,它并没有完全导致问题,但它会产生大量不必要的绑定错误。
我基本上将问题归结为这样一个事实,即在 ContentControl 上设置内容会在应用新的 ContentTemplate 之前更改其内容的 DataContext。由于新 Content 的类型与旧 ContentTemplate 预期的类型不同,因此它会从旧 ContentTemplate 生成绑定错误。
以下是我设置 ContentControl 的方式。 Content 绑定到所选选项卡的 ViewModel,ContentTemplate 绑定到 DataTemplate 以及该选项卡的 View。我曾经使用 ContentTemplateSelector 而不是带有 ContentTemplate 的转换器,但也有同样的问题,所以我尝试了这个。
<ContentControl Content="{Binding SelectedTab, Converter={StaticResource ConfigurationViewModelConverter}}" ContentTemplate="{Binding SelectedTab, Converter={StaticResource ConfigurationTemplateConverter}}"/>
也许我以某种方式将其连接错误,但除了切换选项卡时出现的绑定错误外,一切都运行良好,这似乎是由于 Content 和 ContentTemplate 暂时不同步。提前感谢您的任何帮助。
【问题讨论】:
-
我无法用
ContentTemplateSelector重现该问题。你能提供一个MCVE吗?