2012-12-25 24 views
5

Tôi đang cố gắng thực hiện những điều sau đây: khi danh sách của tôi IsSelected, tôi muốn đặt thuộc tính IsEnabled của nút thành true.Kích hoạt tính năng IsSelected của listview (Beginner)

Dưới đây là những gì tôi đã cố gắng, nhưng tôi nhận được ngoại lệ sau đây:

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

Dưới đây là các mã:

<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> 

và Button:

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

Trả lời

4

Bạn có thể sử dụng DataTrigger trong Nút:

<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

Tuyệt vời, công trình, bạn có thể giải thích những gì bạn đã làm ở đây chính xác không? và tại sao cách tôi cố gắng không hoạt động? Cảm ơn bạn! – idish

+2

Một 'DataTrigger' được định nghĩa, trong đó, khi SelectedItem Property (' Binding SelectedItem') của ListView ('ElementName = YourList') trở thành null (' Value = "{x: Null}" '),' Nút' bị vô hiệu hóa. – Ramin

+0

Aha, hiểu, cảm ơn bạn! – idish

Các vấn đề liên quan