Каков наилучший способ отключить некоторые элементы моего списка ListBox?? У меня есть следующий код XAMLОтключить некоторые элементы ListBox
<ListBox x:Name="ScenarioList" Grid.Row="1" SelectionChanged="ScenarioControl_SelectionChanged"
SelectionMode="Single" HorizontalAlignment="Left" Style="{StaticResource ScenarioListBoxStyle}" ItemContainerStyle="{StaticResource ListBoxItemStyle}"
VerticalAlignment="Top" Margin="0">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Converter={StaticResource ScenarioBinder}}" Style="{StaticResource ListItemTextStyle}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Я привязки данных в коде позади и с помощью следующей IValueConverter привязки данных к моей TextBox
public class ScenarioBindingConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
var keyValPair = value as KeyValuePair<Feature, bool>?;
return !keyValPair.HasValue ? DependencyProperty.UnsetValue : keyValPair.Value.Key.DisplayName();
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
return true;
}
}
объект Feature имеет свойство IsEnabled, которое я бы например, для привязки непосредственно к элементам ListBox, и если элемент отключен, элемент списка должен быть недоступен.
Может ли кто-нибудь указать мне в правильном направлении?
Спасибо, что вернулись, и ваше решение имеет смысл! Кроме того, существует ли другой (и простой подход), чтобы перечислить набор элементов и выборочно отключить их с помощью привязок данных? – infinity