Wie kann ich meine CheckBoxen innerhalb meiner ListBox deaktivieren?Wie kann ich meine CheckBoxen innerhalb meiner ListBox deaktivieren
XAML:
<GroupBox Header="A GroupBox" BorderThickness="2" Width="247" HorizontalAlignment="Left" VerticalAlignment="Top" Height="183" Margin="405,155,0,0">
<Grid>
<ListBox Name="MyListBoxThing" ItemsSource="{Binding MyItemsClassThing}" Height="151" Width="215" HorizontalAlignment="Left" VerticalAlignment="Top" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Auto" Margin="10,0,0,0">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsSelected, Mode=TwoWay}" />
<TextBlock Text="{Binding Path=Name}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</GroupBox>
Mainwindow.xaml.cs
public class MyItemsClassThing
{
public string Name { get; set; }
public bool IsSelected { get; set; }
}
Das Problem: Ich versuche, meine CheckBox die dynamisch das Innere meines listbox sind zu deaktivieren. Aber wenn ich die ListBox deaktiviere, wird auch meine vertikale Bildlaufleiste deaktiviert. So, jetzt denke ich, dass ich auf die CheckBoxes innerhalb der Listbox innerhalb meiner GroupBox zugreifen und sie nacheinander deaktivieren sollte. Wie kann ich das machen?
Ich versuchte dies, hatte aber kein Glück:
var children = LogicalTreeHelper.GetChildren(MyListBoxThing);
foreach(var item in children)
{
var c = item as CheckBox;
c.IsEnabled = false;
}
ich wie sagen will:
loop through the listbox
if you find a check box
checkbox.isenabled = false
endif
end
Vielen Dank im Voraus
Versuchen Sie, die IsEnabled-Eigenschaft zu binden. – Dexion