2010-06-12 2 views

Répondre

1

Voici un Style qui crée un groupe de RadioButtons logiquement liés en utilisant un ListBox. MyClass contient deux propriétés de chaîne: MyName et MyToolTip. Le style affichera la liste des RadioButtons, y compris les info-bulles individuelles fonctionnant correctement. C'est une solution tout en Xaml pour l'utilisation de MVVM.

Exemple d'utilisation:

ListBox style = "{StaticResource radioListBox}" ItemsSource = "{Binding myclasses}" SelectedValue = "{Binding SelectedMyClass}" />

Style:

<Style x:Key="radioListBox" TargetType="ListBox" BasedOn="{StaticResource {x:Type ListBox}}"> 
    <Setter Property="BorderThickness" Value="0" /> 
    <Setter Property="Margin" Value="5" /> 
    <Setter Property="Background" Value="{x:Null}" /> 
    <Setter Property="ItemContainerStyle"> 
     <Setter.Value> 
      <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}"> 
       <Setter Property="Template"> 
        <Setter.Value> 
         <ControlTemplate TargetType="ListBoxItem"> 
          <Grid Background="Transparent"> 
           <RadioButton Focusable="False" IsHitTestVisible="False" IsChecked="{TemplateBinding IsSelected}" Content="{Binding MyName}"/> 
          </Grid> 
         </ControlTemplate> 
        </Setter.Value> 
       </Setter> 
       <Setter Property="ToolTip" Value="{Binding MyToolTip}" /> 
      </Style> 
     </Setter.Value> 
    </Setter> 
</Style> 
Questions connexes