<UserControl .....>
<DataTemplate DataType="{x:Type vm:AViewModel}">
<vw:AView />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:BViewModel}">
<vw:BView />
</DataTemplate>
<ContentControl x:Name="chartScreen" Content="{Binding Screen}" Background="Yellow" />
</UserControl>
Run Code Online (Sandbox Code Playgroud)
从上面的代码中可以看出,ContentControl通过绑定到ViewModel的Screen属性来设置其内容.Screen属性将返回AViewModel或BViewModel的实例,具体取决于某些条件.问题是,当在屏幕上加载UserControl时,Screen属性为null,因此还没有设置内容.此时,我想为ContentControl设置一些背景,但我找不到如何做到这一点的方法?背景="黄色"什么都不做......
任何想法如何设置ContentControl的背景?即使内容显示AView或Biew,也应该始终应用此背景,或者为null.
只是包装您ContentControl在Border
<Border Background="Yellow">
<ContentControl x:Name="chartScreen"
Content="{Binding Screen}" />
</Border>
Run Code Online (Sandbox Code Playgroud)
如果你拥有的UserControl只是你自己ContentControl,那么就把它Background放在UserControl自己身上.这也将删除额外的Border.
| 归档时间: |
|
| 查看次数: |
4938 次 |
| 最近记录: |