WPF绑定异常

时间:2018-06-20 07:10:05

标签: c# wpf binding

我已经使用绑定多次,但这让我感到惊讶。 在TabControl的资源中,我定义了:

<DataTemplate DataType="{x:Type local:ScreenViewModel}">
    <Grid>
        <Grid.Resources>
            <local:converter x:Key="conv"/>
        </Grid.Resources>
        <di:DisplayView Ime="{Binding Name, Converter={StaticResource conv}, Mode=OneWay}"/>
        <TextBlock Text="{Binding Name, Converter={StaticResource conv}, Mode=OneWay}"/>
    </Grid>      
</DataTemplate>

转换器定义为:

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
    return value;
}

仅用于调试绑定过程。

di:DisplayView具有字符串类型的Ime依赖项属性和 实现了INotifyPropertyChanged的local:ScreenViewModel类具有要绑定到的Name属性。

现在,此代码的问题是,当我将断点放在“ conv”的Convert方法中时,我看到断点被击中两次。首先,在“名称”中设置了预定义的字符串值,第二次则是空字符串。即使我删除TextBlock绑定,我仍然会得到空字符串作为值,但是即使我删除di:DisplayView,也可以正常工作。

我应该提到UserControl是在另一个命名空间中定义为ClassLibrary的。

WPF的奇怪行为,不是吗?

0 个答案:

没有答案