C# och WPF, kan inte få comboboxen att göra vad jag vill.
Postat: 11 januari 2017, 17:51:59
Och jo, jag har aldrig pysslat med C# och WPF innan, så det är helt nytt för mig.
Har en Combobox, laddar innehållet i den beroende på vilken av två radioknappar som är vald.
Detta fungerar problemfritt.
Vad jag vill är att kunna sätta vad som visas som default när man väljer via radioknapparna, och det får jag inte till.
med xaml ovan så sker det första gången när fönstret laddas, men därefter får jag inte till det hela.
Initieringen:
Ladda boxen
Om radioknapparna ändras:
Har en Combobox, laddar innehållet i den beroende på vilken av två radioknappar som är vald.
Detta fungerar problemfritt.
Kod: Markera allt
ComboBox Grid.Column="2" Grid.Row="0" x:Name="lstUnitType" Margin="20,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Center" Height="28" Width="200" SelectedItem="0" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding}" IsReadOnly="True">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
med xaml ovan så sker det första gången när fönstret laddas, men därefter får jag inte till det hela.
Initieringen:
Kod: Markera allt
public frmSingle()
{
InitializeComponent();
rdoHP.IsChecked = true;
rdoCH.IsChecked = false;
LoadListboxData();
lstUnitType.DataContext = unitTypeList;
// lstUnitType.SelectedItem = lstUnitType.Items.GetItemAt(0);
// lstUnitType.SelectedIndex = 0;
//lstUnitType.SelectedIndex{ }
calcClass calc = new calcClass();
}
Kod: Markera allt
private void LoadListboxData()
{
unitTypeList.Add("Automatiskt Maskinval");
if ((bool)rdoHP.IsChecked)
{
unitTypeList.Clear();
unitTypeList.Add("Automatiskt Maskinval");
unitTypeList.Add("HP50CC");
unitTypeList.Add("HP100CC");
unitTypeList.Add("HP200");
unitTypeList.Add("HP300");
unitTypeList.Add("HP400");
unitTypeList.Add("HP500");
unitTypeList.Add("HP600");
unitTypeList.Add("HP700");
unitTypeList.Add("HP1600RPE");
}
else if ((bool)rdoCH.IsChecked)
{
unitTypeList.Clear();
unitTypeList.Add("Automatiskt Maskinval");
unitTypeList.Add("CH50CC");
unitTypeList.Add("CH100CC");
unitTypeList.Add("CH200");
unitTypeList.Add("CH300");
unitTypeList.Add("CH400");
unitTypeList.Add("CH500");
unitTypeList.Add("CH600");
unitTypeList.Add("CH700");
unitTypeList.Add("CH1600RPE");
}
//lstUnitType.DataContext = unitTypeList;
// wlstUnitType.SelectedIndex = 0;
}
Kod: Markera allt
private void rdoType_Changed(object sender, RoutedEventArgs e)
{
LoadListboxData();
}