【问题标题】:text not showing in my listview文本未显示在我的列表视图中
【发布时间】:2016-03-20 09:52:15
【问题描述】:

显然我做错了,因为我以前以这种方式使用过这种类型的控件。

我的文本没有显示在我的列表视图中。我可以双击该项目并获取其值,但我看不到它。你会认为这将是一个简单的样式设置,也许它已在我的 appp.xaml 的其他地方设置,但事实并非如此。

这是我的标记:

<UserControl.Resources>
    <ResourceDictionary>
        <Style x:Key="myHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
            <Setter Property="Visibility" Value="Collapsed" />
        </Style>
        <DataTemplate x:Key="value1Template">
            <TextBlock TextAlignment="Left" Text="{Binding Path=CustomerName}"/>
        </DataTemplate>
    </ResourceDictionary>
</UserControl.Resources>


<ListView x:Name="lstActiveJobs" Grid.Row="1" Grid.Column="0" Foreground="Black" MouseDoubleClick="lstActiveJobs_MouseDoubleClick" >
    <ListView.ContextMenu>
        <ContextMenu>
            <MenuItem Header="View"
                        Click="cmView"     
                        Command="{Binding RemoveItem}"
                        CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=ContextMenu}, 
                       Path=PlacementTarget.SelectedItem}" />                   
        </ContextMenu>
    </ListView.ContextMenu>
    <ListView.View>
        <GridView AllowsColumnReorder="False" ColumnHeaderContainerStyle="{StaticResource myHeaderStyle}">
            <GridViewColumn Header="CustomerName"  Width="100"  CellTemplate="{StaticResource value1Template}"  />
        </GridView>
    </ListView.View>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="HorizontalContentAlignment" Value="Stretch"  />
        </Style>
    </ListView.ItemContainerStyle>
</ListView>

我的部分代码在后面:

lstActiveJobs.ItemsSource = ActiveState.JobsActive;

public static ObservableCollection<JobTicker> JobsActive = new ObservableCollection<JobTicker>();

注意点是:

ActiveState.JobsActive does have a record/item

我的模特:

public  class JobTicker
{
    public string CustomerRef;
    public string JobRef;
    public string CustomerName;
}

【问题讨论】:

    标签: c# wpf xaml listview data-binding


    【解决方案1】:

    字段不是有效的binding source

    您可以绑定到任何公共语言运行时 (CLR) 对象的公共属性、子属性以及索引器。

    所以你需要将你的字段转换为属性

    public class JobTicker
    {
        public string CustomerRef { get; set; }
        public string JobRef { get; set; }
        public string CustomerName { get; set; }
    }
    

    【讨论】:

    • 哈哈是的。我想起来了。我以前在 MVC web api 中遇到过这个问题。教我懒惰地写我的 POCO。我想我需要重新购买锐器。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多