Selector.IsSynchronizedWithCurrentItem Propriedade

Definição

Obtém ou define um valor que indica se um Selector deve manter o SelectedItem sincronizado com o item atual na propriedade Items.

C#
[System.ComponentModel.Bindable(true)]
[System.ComponentModel.TypeConverter("System.Windows.NullableBoolConverter, PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
[System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)]
public bool? IsSynchronizedWithCurrentItem { get; set; }
C#
[System.ComponentModel.Bindable(true)]
[System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)]
[System.ComponentModel.TypeConverter("System.Windows.NullableBoolConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")]
public bool? IsSynchronizedWithCurrentItem { get; set; }

Valor da propriedade

true se o SelectedItem estiver sempre sincronizado com o item atual no ItemCollection; false se o SelectedItem nunca for sincronizado com o item atual; null se o SelectedItem for sincronizado com o item atual somente se o Selector usar um CollectionView. O valor padrão é null.

Atributos

Exemplos

O exemplo a seguir associa dois controles ListBox ao mesmo ItemsSource. Como IsSynchronizedWithCurrentItem está definido como true em cada ListBox, o item selecionado é sempre o mesmo para ambos os controles

XAML
<XmlDataProvider x:Key="Employees" XPath="/Employees/*">
  <x:XData>
    <Employees xmlns="">
      <Employee Name="Terry Adams" Type="FTE" EmployeeNumber="1" />
      <Employee Name="Claire O'Donnell" Type="FTE" EmployeeNumber="12345" />
      <Employee Name="Palle Peterson" Type="FTE" EmployeeNumber="5678" />
      <Employee Name="Amy E. Alberts" Type="CSG" EmployeeNumber="99222" />
      <Employee Name="Stefan Hesse" Type="Vendor" EmployeeNumber="-" />
    </Employees>
  </x:XData>
</XmlDataProvider>

<DataTemplate x:Key="EmployeeItemTemplate">
  <TextBlock Text="{Binding XPath=@Name}" />
</DataTemplate>
XAML
<ListBox Name="employeeListBox1"
         ItemsSource="{Binding Source={StaticResource Employees}}"
         ItemTemplate="{StaticResource EmployeeItemTemplate}"
         IsSynchronizedWithCurrentItem="True"/>

<ListBox Name="employeeListBox2"
         ItemsSource="{Binding Source={StaticResource Employees}}"
         ItemTemplate="{StaticResource EmployeeItemTemplate}"
         IsSynchronizedWithCurrentItem="True"/>

Comentários

Você pode definir a propriedade IsSynchronizedWithCurrentItem como true para garantir que o item selecionado sempre corresponda à propriedade CurrentItem no ItemCollection. Por exemplo, suponha que haja dois controles ListBox com a propriedade ItemsSource definida como a mesma origem. Defina IsSynchronizedWithCurrentItem para true em ambas as caixas de listagem para garantir que o item selecionado em cada ListBox seja o mesmo.

Uso do atributo XAML

< objetoIsSynchronizedWithCurrentItem="Boolean"/>

-ou-

< objetoIsSynchronizedWithCurrentItem="{}"/>

Informações da propriedade Dependency

Campo identificador IsSynchronizedWithCurrentItemProperty
Propriedades de metadados definidas como true Nenhum

Aplica-se a

Produto Versões
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9