Я требую некоторые значения в Combo Box предотвращено выбирается пользователем, когда конкретные значения выбраны в первом ComboBox, у меня есть две выпадающие списки, как это:XAML Предотвращение некоторых значений в Combo Box от выбран
<ComboBox x:Name="jobTypeComboBox" SelectionChanged="ComboBox_SelectionChanged" Margin="10,66,209,461" IsSynchronizedWithCurrentItem="False" AllowDrop="True" PlaceholderText="job type" Background="Black" Foreground="#FFFDFDFD">
<x:String>Repair</x:String>
<x:String>Replace</x:String>
<x:String>Special</x:String>
<x:String>Commercial</x:String>
<x:String>Plexi</x:String>
<x:String>Other</x:String>
</ComboBox>
<ComboBox x:Name="glassTypeComboBox" SelectionChanged="ComboBox_SelectionChanged" Margin="10,109,209,410" IsSynchronizedWithCurrentItem="False" AllowDrop="True" PlaceholderText="glass type" Background="Black">
<x:String>Windscreen</x:String>
<x:String>Rearscreen</x:String>
<x:String>Side Glass</x:String>
<x:String>Mirror</x:String>
<x:String>Building Glass</x:String>
<x:String>Other</x:String>
</ComboBox>
Если я выбираю «Восстановить» в первом поле со списком, то второе поле со списком не содержит никаких значений, кроме «ветрового стекла» или «заднего экрана». Я новичок в XAML и не знаю, как бы я отказался от выбора определенные значения в этом комбинированном поле
EDIT:
private void jobTypeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
foreach (var glassType in glassTypeComboBox.Items)
{
ComboBoxItem cbi = glassType as ComboBoxItem;
cbi.IsEnabled = true; // always default to enabled.
if (jobTypeComboBox.SelectedValue.ToString() == "Repair")
{
if ((cbi.Content.ToString() != "Windscreen") && (cbi.Content.ToString() != "Rearscreen"))
{
cbi.IsEnabled = false;
}
}
if (jobTypeComboBox.SelectedValue.ToString() == "Replace")
{
//More conditions here
}
}
}
Это то, что я использую, чтобы попробовать удалить/отключить значения, которые я не хочу (благодаря Lynn Crumbling) за идею/помощь! Просто не могу получить его прочитать, если условие здесь:
if (jobTypeComboBox.SelectedValue.ToString() == "Repair")
Я также попытался:
if (this.jobTypeComboBox.SelectedValue.ToString() == "Repair")
и первоначальное предложение Линн с довольно много примеров этого.
Он просто пропускает его во время отладки, даже если он выбран. Любой дополнительный совет был бы потрясающим!
Эй, спасибо, кучи для этого! Это выглядит многообещающим ... и мне жаль, что я не знаком с MVVM – Khaoz
Эй, там, после его реализации и тестирования, он не работает, когда я отлаживал его, он пропускал через if (this.jobTypeComboBox.SelectedValue.ToString() = = "Repair") { Несмотря на то, что у меня был выбран ремонт, я пробовал несколько вещей, но я не мог заставить его работать. Любая помощь очень ценится :) – Khaoz
Не уверен - это отлично работает для меня. Я положил его под отладчиком, чтобы проверить. –