<small id='aOc6Q'></small><noframes id='aOc6Q'>

  • <i id='aOc6Q'><tr id='aOc6Q'><dt id='aOc6Q'><q id='aOc6Q'><span id='aOc6Q'><b id='aOc6Q'><form id='aOc6Q'><ins id='aOc6Q'></ins><ul id='aOc6Q'></ul><sub id='aOc6Q'></sub></form><legend id='aOc6Q'></legend><bdo id='aOc6Q'><pre id='aOc6Q'><center id='aOc6Q'></center></pre></bdo></b><th id='aOc6Q'></th></span></q></dt></tr></i><div id='aOc6Q'><tfoot id='aOc6Q'></tfoot><dl id='aOc6Q'><fieldset id='aOc6Q'></fieldset></dl></div>

      • <bdo id='aOc6Q'></bdo><ul id='aOc6Q'></ul>

      <legend id='aOc6Q'><style id='aOc6Q'><dir id='aOc6Q'><q id='aOc6Q'></q></dir></style></legend>

        <tfoot id='aOc6Q'></tfoot>

        在使用 ItemsSource 之前,项目集合必须为空

        时间:2023-10-07

            • <i id='3NjI1'><tr id='3NjI1'><dt id='3NjI1'><q id='3NjI1'><span id='3NjI1'><b id='3NjI1'><form id='3NjI1'><ins id='3NjI1'></ins><ul id='3NjI1'></ul><sub id='3NjI1'></sub></form><legend id='3NjI1'></legend><bdo id='3NjI1'><pre id='3NjI1'><center id='3NjI1'></center></pre></bdo></b><th id='3NjI1'></th></span></q></dt></tr></i><div id='3NjI1'><tfoot id='3NjI1'></tfoot><dl id='3NjI1'><fieldset id='3NjI1'></fieldset></dl></div>
                <tbody id='3NjI1'></tbody>
            • <small id='3NjI1'></small><noframes id='3NjI1'>

                <bdo id='3NjI1'></bdo><ul id='3NjI1'></ul>
                <tfoot id='3NjI1'></tfoot>
              • <legend id='3NjI1'><style id='3NjI1'><dir id='3NjI1'><q id='3NjI1'></q></dir></style></legend>

                  本文介绍了在使用 ItemsSource 之前,项目集合必须为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  如果我将 DataTrigger 放在一个简单的列表框中,我会得到这个运行时异常:

                  If I put a DataTrigger in a simple Listbox I get this runtime exception:

                  Items 集合在使用 ItemsSource 之前必须为空

                  Items collection must be empty before using ItemsSource

                  我的列表框没有数据触发器(也不例外):

                  My listbox without datatrigger (no exception):

                  <ListBox ItemsSource="{Binding EdgedBoards}" SelectedItem="{Binding SelEdgedBoard, Mode=TwoWay}" DisplayMemberPath="Name">
                      <ListBox.ItemContainerStyle>
                          <Style TargetType="{x:Type ListBoxItem}" 
                                 BasedOn="{StaticResource {x:Type ListBoxItem}}">
                  
                              <Setter Property="IsSelected"
                                      Value="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
                          </Style>
                      </ListBox.ItemContainerStyle>
                  </ListBox>
                  

                  我的列表框与 DataTrigger:

                  <ListBox ItemsSource="{Binding EdgedBoards}" SelectedItem="{Binding SelEdgedBoard, Mode=TwoWay}" DisplayMemberPath="Name">
                      <Style TargetType="{x:Type ListBox}" BasedOn="{StaticResource {x:Type ListBox}}">
                          <Setter Property="Focusable" Value="True" />
                  
                          <Style.Triggers>
                              <DataTrigger Binding="{Binding ElementName=EdgedBoardsAdd_UC, Path=Visibility}" Value="Visible">
                                  <Setter Property="Focusable" Value="False" />
                              </DataTrigger>
                          </Style.Triggers>
                      </Style>
                  
                      <ListBox.ItemContainerStyle>
                          <Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                              <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
                          </Style>
                      </ListBox.ItemContainerStyle>
                  </ListBox>
                  

                  后面的代码有什么问题?

                  What's wrong with the latter code?

                  推荐答案

                  你没有正确声明样式,所以它被设置为列表框的 content - 你手动声明了一个包含单个样式的列表.

                  You aren't declaring the style correctly, and so it's being set as the content of the listbox - you are manually declaring a list that contains a single style.

                  你应该用 <ListBox.Style> 元素包裹你现有的 Style 元素来解决这个问题.

                  You should wrap your existing Style element with the <ListBox.Style> element to fix this problem.

                  这篇关于在使用 ItemsSource 之前,项目集合必须为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:ListBox.SelectedIndexChanged 第一次没有触发 下一篇:具有覆盖 CreateParams 的 ListBox 不会引发项目事件

                  相关文章

                    • <bdo id='aDCiL'></bdo><ul id='aDCiL'></ul>
                  1. <small id='aDCiL'></small><noframes id='aDCiL'>

                    <legend id='aDCiL'><style id='aDCiL'><dir id='aDCiL'><q id='aDCiL'></q></dir></style></legend>
                    <tfoot id='aDCiL'></tfoot>
                  2. <i id='aDCiL'><tr id='aDCiL'><dt id='aDCiL'><q id='aDCiL'><span id='aDCiL'><b id='aDCiL'><form id='aDCiL'><ins id='aDCiL'></ins><ul id='aDCiL'></ul><sub id='aDCiL'></sub></form><legend id='aDCiL'></legend><bdo id='aDCiL'><pre id='aDCiL'><center id='aDCiL'></center></pre></bdo></b><th id='aDCiL'></th></span></q></dt></tr></i><div id='aDCiL'><tfoot id='aDCiL'></tfoot><dl id='aDCiL'><fieldset id='aDCiL'></fieldset></dl></div>