2014-02-15 122 views
3

我有一个值转换器,将null转换为Visibility.Collapsed。现在,我尝试使用它在用户控制,使整个控制将崩溃时,它的DateContext是空绑定可见性DataContext

控制是这样的:

<UserControl x:Class="PhoneApp.Controls.Header" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d" 
    Visibility="{Binding Converter={StaticResource ToVisibility}}" 
    d:DesignHeight="150" d:DesignWidth="480"> <-- some body here --> 

它这样使用

<my:Header DataContext="{Binding SectionHeader}"/> 

Where SectionHeader是视图模型属性。

我有一个类似的控件,我没有绑定DataContext,但一些自定义的DP和崩溃那里工作正常。但是,在这一个中,值转换器似乎只在SectionHeader!= null时被调用。当它为空时,该控件将呈现空子项。

我想过在这里不使用DataContext,但控件更清晰。

为什么绑定到DataContext不起作用?你有什么建议?

回答