0

您好朋友,我遇到了在 ListView Datatemplate 中定义的 TextBlock 中显示文本的问题,这是我的 listview 的代码。

<ListView Grid.Row="1" Margin="-2,0,0,-5" Padding="0" ItemContainerStyle="{StaticResource  listviewItemSampleStyleWithNoselection}" ItemsSource="{Binding lst}" SelectionMode="None" >
                    <ListView.ItemTemplate>
                        <DataTemplate>
                            <Button FontSize="15" BorderThickness="0" Background="#8A69A7"  >
                                <Button.ContentTemplate>
                                    <DataTemplate>
                                        <StackPanel Orientation="Horizontal" VerticalAlignment="Top" Background="#8A69A7" >
                                            <TextBlock Text="{Binding Path=Value}" FontSize="15" VerticalAlignment="Center" />
                                            <TextBlock x:Name="btnremoveSubject" Margin="10,0,-5,0" VerticalAlignment="Center" Padding="0" FontSize="15" Text="&#xE10A;" FontFamily="Segoe UI Symbol" Width="20" Height="18" HorizontalAlignment="Center"  Foreground="White" FontWeight="Thin" />
                                        </StackPanel>
                                    </DataTemplate>
                                </Button.ContentTemplate>
                            </Button>
                        </DataTemplate>
                    </ListView.ItemTemplate>
                    <ListView.ItemsPanel>
                        <ItemsPanelTemplate>
                            <VirtualizingStackPanel Orientation="Horizontal" />
                        </ItemsPanelTemplate>
                    </ListView.ItemsPanel>
                </ListView>

这里 lst 是我的 KeyValuePair 类型的 ObservableCollection 在这里它的定义..

  public ObservableCollection<KeyValuePair<string,string>> lst { get; set; }

lst 中的所有项目都已经填充了键和值。所以请你们指导我所做的任何帮助和建议,我们将不胜感激。

4

1 回答 1

1

WinRT 有错误。你不能绑定Dictionary<T,V>,ObservableCollection<KeyValuePair<T, V>>IEnumerable<KeyValuePair<T, V>>. 您只有一种选择是使用属性作为类的成员。

您还可以使用简单的转换器进行测试,以检查绑定是否正在发生。

将字典绑定到 WinRT 列表框

提交的错误

于 2013-10-09T09:44:18.830 回答