当前位置: 首页 > 知识库问答 >
问题:

ListViewItem的绑定错误

方轩昂
2023-03-14

在应用程序运行时,我遇到了以下错误:System. Windows. Data Error: 4:找不到引用“RelativeSource FindAncestor, AncestorType=‘System. Window. Control. ItemsControl’, AncestorLine=‘1’的绑定源。Binding表达式:路径=HorizontalContent的对齐;数据项=空;目标元素是“ListView项目”(名称=“);目标属性是“HorizontalContent的对齐”(类型为“Horizontal的对齐”)

我试图添加下面的代码行,但不幸的是没有帮助。有什么想法吗?

代码:

<ListView Visibility="{Binding Path=IsListDisplayed, Converter={StaticResource BooleanToVisConverter}}" 
              ScrollViewer.VerticalScrollBarVisibility="Auto"                      
              ScrollViewer.HorizontalScrollBarVisibility="Disabled"                  
              Grid.Row="1" 
              ItemsSource="{Binding JobsList}"
              SelectedItem="{Binding SelectedJob}"                      
              x:Name="JobsLv">

        <ListView.ItemsPanel>
            <ItemsPanelTemplate>                    
                <avt_controls:VirtualizingWrapPanel/>
            </ItemsPanelTemplate>
        </ListView.ItemsPanel>
        <ListView.ItemTemplate>                
            <DataTemplate>
                <Border BorderThickness="4" CornerRadius="10" Margin="10">
                    <Border.Style>
                        <Style TargetType="{x:Type Border}">
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding JobStatus}" Value="Ready">
                                    <Setter Property="BorderBrush" Value="Green"/>
                                </DataTrigger>
                                <DataTrigger Binding="{Binding JobStatus}" Value="FromMIS">
                                    <Setter Property="BorderBrush" Value="Blue"/>
                                </DataTrigger>
                                <DataTrigger Binding="{Binding JobStatus}" Value="InProgress">
                                    <Setter Property="BorderBrush" Value="Red"/>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </Border.Style>
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="Auto"/>
                        </Grid.RowDefinitions>
                        <TextBlock Text="{Binding JobName}" Grid.Row="0" FontSize="13" Margin="5,0,0,0"/>
                        <TextBlock Text="{Binding LastUpdate, StringFormat={}{0:dd/MM/yyyy hh:mm}}" Grid.Row="1" FontSize="13" Margin="5,0,0,0"/>
                        <ListView Grid.Row="2" ItemsSource="{Binding Designs}" BorderBrush="Transparent" Background="Transparent" Margin="3">
                            <ListView.ItemsPanel>
                                <ItemsPanelTemplate>
                                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"></StackPanel>
                                </ItemsPanelTemplate>
                            </ListView.ItemsPanel>
                            <ListView.ItemTemplate>
                                <DataTemplate>
                                    <Image Width="100" Margin="1">
                                        <Image.Style>
                                            <Style TargetType="{x:Type Image}">
                                                <Style.Triggers>
                                                    <DataTrigger Binding="{Binding IsDownloading}" Value="True">
                                                        <Setter Property="Source" Value="{Binding ThumbnailFilePath}"/>
                                                    </DataTrigger>
                                                    <DataTrigger Binding="{Binding IsDownloading}" Value="False">
                                                        <Setter Property="Source" Value="{Binding ThumbnailFilePath}"/>
                                                    </DataTrigger>
                                                </Style.Triggers>
                                            </Style>
                                        </Image.Style>
                                    </Image>
                                </DataTemplate>
                            </ListView.ItemTemplate>
                        </ListView>
                    </Grid>
                </Border>
            </DataTemplate>                   
        </ListView.ItemTemplate>            
    </ListView>

共有1个答案

孙经艺
2023-03-14

(我知道很晚的答案,但这是我找到的第一个链接之一,所以可能对某人有所帮助。)

对于带有复杂ItemTemplate的listview,简单的WrapPanel与我的ItemsPanel存在相同的问题(尽管没有奇怪的对齐绑定)。在创建带有ListView的页面时,它会抱怨HorizontalContentAlignment和VerticalContentAlignment的绑定错误,之后它会工作得很好。

<ListView.ItemsPanel>
  <ItemsPanelTemplate>
    <WrapPanel Orientation="Horizontal"/>
  </ItemsPanelTemplate>
</ListView.ItemsPanel>

我用https://www.nuget.org/packages/VirtualizingWrapPanel/替换了Wrap面板,因为我无论如何都想虚拟化。错误现在消失了。请注意,由于某种原因,与标准Wrap面板相比,方向的工作方式相反。

<ListView.ItemsPanel>
  <ItemsPanelTemplate>
    <wpftk:VirtualizingWrapPanel Orientation="Vertical"/>
  </ItemsPanelTemplate>
</ListView.ItemsPanel>
 类似资料:
  • 问题内容: 我正在创建一个词解析类,并在运行此命令时始终收到“ < main .Word_Parser实例位于0x1037dd3b0>的绑定方法Word_Parser.sort_word_list ”的错误: 问题答案: 这里没有错误。您正在打印一个函数,这就是函数的外观。 要实际 调用 该函数,必须在其后放置括号。您已经在上面完成了。如果要打印调用函数的结果,只需让函数返回值,然后将打印内容放在

  • 我得到了这个错误,我知道它的意思 DL已弃用,请使用Fiddle DL已被弃用,请使用Fiddle获取源索引从 rubygems.org/由于错误(2/3)而重试源获取: Bundler::Fetcher::CertificateFailureER ror无法验证<--的SSL 证书plhd--3/>您可能遇到中间人攻击,但最有可能的是您的系统没有验证所需的CA证书。有关 OpenSSL证书的信息

  • 请帮助我,我是python新手,现在了解下面的错误 “TypeError:必须使用ExampleScript14实例作为第一个参数调用未绑定的方法assertEqual()(改为使用Get-str实例)” 有关以下代码: 从selenium从selenium导入webdriver。网络驱动程序。常见的按导入按导入单元测试导入时间从时间导入睡眠导入变量

  • 问题出在行collections.sort(acoesProcessar);我得到的信息是: 绑定不匹配:类型集合的泛型方法不适用于参数()。推断的类型不是有界参数

  • 怎么啦? 谢谢