绑定集合中的 WPF 列表框项标签为空



我的WPF样式遇到了一些问题。我有一个ListBox其中包含一堆空白(不应该是空白)标签。在我的 XAML 中定义如下:

            <ListBox Height="auto" Name="ProjectsList" Width="auto" DockPanel.Dock="Top" ItemsSource="{Binding Projects}">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <Grid Margin="3">
                            <Label Content="{Binding Path=Name}" Foreground="Black" Height="40" Padding="7" VerticalAlignment="Center" ScrollViewer.HorizontalScrollBarVisibility="Hidden" Name="ProjectName" />
                            <Label Content="{Binding Path=TaskCount}" Foreground="Gray" Width="25" Name="ProjectTaskCount" />
                        </Grid>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

Projects是一个ObservableCollection,里面充满了Project结构(我定义),这些结构是在数据库查询以获取相应数据后创建的。我可以单步执行代码并看到查询返回正常,并看到结构被填写并添加到集合中。我也知道它正在填充ListBox因为我可以选择其中的空白项目并突出显示。但是没有应有的文本。

Project属性NamestringTaskCountint

这是Project定义

public struct Project
{
    public Int64 Id;
    public string Name;
    public string Description;
    public bool HasDueDate;
    public DateTime DueDate;
    public Int64 UserId;
    public int TaskCount;
}

问题是:为什么文本没有显示?

您可以绑定到公共属性。 我只看到你的结构上的字段。 就像其他人说的:实现 INotifyPropertyChanged 并正确提高它

您应该实现 INotifyPropertyChanged 到您的业务对象。这将使用属性更改回调直接通知属性对 UI 的更改。但我不确定您是否正在使用它来绑定列表框....

http://www.codeproject.com/Articles/165368/WPF-MVVM-Quick-Start-Tutorial

http://www.codeproject.com/Articles/81484/A-Practical-Quick-start-Tutorial-on-MVVM-in-WPF

http://wpftutorial.net/MVVM.html

相关内容

  • 没有找到相关文章

最新更新