2017-07-10 49 views
2

我想根據條件隱藏列表視圖中的Textbox如何根據wpf中的條件檢查來隱藏字段?

<ListView Margin="0" Name="lvAccessPoints" Background="#ff1d1d1d" Grid.Row="1" BorderThickness="0"> 
      <ListView.ItemTemplate> 
       <DataTemplate> 
        <WrapPanel> 
         <iconPacks:PackIconModern Kind="ConnectionWifi" Foreground="White" Width="30" Height="30"/> 
         <TextBlock Text="{Binding Name}" FontWeight="Bold" Foreground="White" Padding="10,0" FontSize="15" VerticalAlignment="Center"/> 
         <TextBox HorizontalAlignment="Left" 
       Height="23" 
       Margin="10,10,0,0" 
       TextWrapping="Wrap" 
       Text="" 
       VerticalAlignment="Top" 
       Width="120" 
       TextChanged="TextBox_TextChanged" 
       Visibility="{Binding Name!=SelectedItem.Name ? Hidden : Visible}"/> 
         <Button Click="Button_Click_2"></Button> 
        </WrapPanel> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 

我想是這樣,它不似乎是正確的方式,我想是時候在循環的特定名稱匹配所選的項目名稱,則僅TextBox應該顯示。

我做錯了什麼?選擇父ListViewItem

Visibility="{Binding Name!=SelectedItem.Name ? Hidden : Visible}" 

你可以做的就是定義在DataTemplate那臺TextBoxVisibleVisibility屬性DataTrigger

回答

1

這些類型的表達式都沒有在XAML支持:

<ListView Margin="0" Name="lvAccessPoints" Background="#ff1d1d1d" Grid.Row="1" BorderThickness="0"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <WrapPanel> 
       <iconPacks:PackIconModern Kind="ConnectionWifi" Foreground="White" Width="30" Height="30"/> 
       <TextBlock Text="{Binding Name}" FontWeight="Bold" Foreground="White" Padding="10,0" FontSize="15" VerticalAlignment="Center"/> 
       <TextBox HorizontalAlignment="Left" 
         x:Name="txt" 
         Height="23" 
         Margin="10,10,0,0" 
         TextWrapping="Wrap" 
         Text="" 
         VerticalAlignment="Top" 
         Width="120" 
         TextChanged="TextBox_TextChanged" 
         Visibility="Hidden"/> 
       <Button Click="Button_Click_2"></Button> 
      </WrapPanel> 
      <DataTemplate.Triggers> 
       <DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource FindAncestor, AncestorType=ListViewItem}}" Value="True"> 
        <Setter TargetName="txt" Property="Visibility" Value="Visible" /> 
       </DataTrigger> 
      </DataTemplate.Triggers> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 
相關問題