2012-12-25 9 views
5

私はリストビューIsSelectedを一度入力すると、ボタンのIsEnabledプロパティをtrueに設定したいと考えています。ここでリストビューのIsSelectedプロパティ(Beginner)

は、私が試したものだが、私は次の例外を取得しています:

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

ここでは、コードです:

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

とボタン:

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

答えて

4

は、ボタンでDataTriggerを使用できます:

<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

優れています、あなたはここで何をしたのか正確に説明できますか?なぜ私がやろうとしたことが働いていないのですか?ありがとうございました! – idish

+2

ListView( 'ElementName = YourList')のSelectedItemプロパティ(' Binding SelectedItem')がヌル( 'Value =" {x:Null} '')になると 'Button'が呼び出される' DataTrigger'が定義されています。無効になります。 – Ramin

+0

ああ、理解して、ありがとう! – idish

関連する問題