2012-12-25 10 views
5

Sto provando a fare quanto segue: una volta che la mia lista visualizza IsSelected, voglio impostare la proprietà del mio pulsante su true.Proprietà IsSelected del listener di trigger (Principiante)

Ecco quello che ho provato, ma sto ottenendo la seguente eccezione:

'Initialization of 'System.Windows.Controls.ListView' threw an exception.' Line number '25' and line position '19'.

Ecco il codice:

<ListView ItemsSource="{Binding ReferenceCollection}" SelectedItem="{Binding SelectedReference}" Grid.ColumnSpan="2" Name="ListView1" > 
     <ListView.Triggers> 
      <Trigger Property="ListView.IsSelected" Value="True"> 
       <Setter TargetName="okBtn" Property="Button.IsEnabled" Value="True" /> 
      </Trigger> 
     </ListView.Triggers> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <StackPanel Orientation="Horizontal"> 
        <Label Content="{Binding ReferenceName}" /> 
       </StackPanel> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 

e Button:

<Button IsEnabled ="False" Grid.Row ="2" Content="OK" Name="okBtn" Click="addReference_Click" /> 

risposta

4

È possibile utilizzare DataTrigger nel pulsante:

<ListView Name="YourList"> 
     <ListViewItem Content="1234" /> 
     <ListViewItem Content="1234" /> 
     <ListViewItem Content="1234" /> 
    </ListView> 
    <Button Content="OK"> 
     <Button.Style> 
      <Style TargetType="{x:Type Button}"> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding SelectedItem, ElementName=YourList}" 
           Value="{x:Null}"> 
         <Setter Property="IsEnabled" 
           Value="False" /> 
        </DataTrigger> 
       </Style.Triggers> 
      </Style> 
     </Button.Style> 
    </Button> 
+0

Eccellente, funziona, puoi spiegare cosa hai fatto esattamente qui? e perché il modo in cui ho provato a farlo non funziona? Grazie! – idish

+2

Un 'DataTrigger' è definito, con il quale, quando Proprietà SelectedItem (' Binding SelectedItem') di ListView ('ElementName = YourList') diventa null (' Value = "{x: Null}" '), il' Button' diventa disabilitato. – Ramin

+0

Aha, capito, grazie! – idish

Problemi correlati