0
有沒有辦法隱藏WPF中的組合框項目? 在我的用戶控件中有一個ListBox,其中複選框項綁定到一個ObservableCollection和一個帶有組合框的數據網格。如何隱藏WPF中的組合框項目
<ListBox x:Name="AvailableAttributes" Grid.Row="0" Grid.Column="2" SelectionMode="Single" >
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=OneWay}"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding Name}" IsChecked="{Binding IsSelected}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
...
<DataGrid Name="datagrid" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" />
<DataGridComboBoxColumn
SelectedValueBinding="{Binding CBID}"
DisplayMemberPath="Name"
SelectedValuePath="ID">
<DataGridComboBoxColumn.ElementStyle>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="ItemsSource"
Value="{Binding Path=CBItems, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
</Style>
</DataGridComboBoxColumn.ElementStyle>
<DataGridComboBoxColumn.EditingElementStyle>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="ItemsSource"
Value="{Binding Path=CBItems, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
</Style>
</DataGridComboBoxColumn.EditingElementStyle>
</DataGridComboBoxColumn>
</DataGrid.Columns>
</DataGrid>
我以前this solution管理組合框的項目,並添加屬性「IsSelected」
public class GridItem
{
public string Name { get; set; }
public int CBID { get; set; }
}
public class CBItem
{
public int ID { get; set; }
public string Name { get; set; }
public bool IsSelected { get; set; }
}
現在我想用「IsSelected」屬性來隱藏/在組合框中顯示的項目。有人能告訴我,我怎麼能做到這一點?
非常感謝!這太棒了 :) –