UserControl数据绑定在ListBox.ItemTemplate中不起作用

时间:2017-05-10 18:52:31

标签: c# wpf listbox user-controls

我有ListBoxListBox.ItemTemplate需要UserControl。问题是UserControl数据绑定无效。

<ListBox ItemsSource="{Binding MyCollection, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <DockPanel>
                <local:MyUserControl Data1="{Binding Path=MyData}" />
            </DockPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

当我这样做时Data1保持为NULL。如果我要删除绑定并只是像这样发送一些值;

<local:MyUserControl Data1="Bob" />

UserControl有效(虽然现在由于硬编码而无效)。

以下是Data1UserControl的声明。

public static readonly DependencyProperty
    Data1Property = DependencyProperty.Register("Data1", typeof(string), typeof(MyUserControl));
public string Data1
{
    get { return (string)GetValue(Data1Property); }
    set { SetValue(Data1Property, value); }
}

最后一点请注意,如果我从UserControl中提取ListBox并将其与其他一些数据绑定,则它可以正常工作。

0 个答案:

没有答案