У меня есть окно WPF, у которого есть только ComboBox (выпадающий список). Если я выберу индекс 1 (второй элемент в раскрывающемся списке), как я могу расширить это окно WPF, чтобы показать больше кнопок, текстовое поле и т. Д.? Должен ли я использовать свойство selectedIndex? Если да, то как сделать окно расширяться в XAML.Как расширить окно WPF для определенного условия?
ответ
В прошлом я использовал IValueConverter
, чтобы выполнить это. Вот пример преобразователь:
public class MyConverter : System.Windows.Data.IValueConverter {
public object Convert (object value , Type targetType , object parameter , CultureInfo culture) {
if (value == null)
return System.Windows.Visibility.Hidden;
if (parameter == null)
return System.Windows.Visibility.Hidden;
if (value.ToString().Equals (parameter))
return System.Windows.Visibility.Visible;
return System.Windows.Visibility.Hidden;
}
public object ConvertBack (object value , Type targetType , object parameter , CultureInfo culture) {
throw new NotImplementedException ();
}
}
Что это делает, она принимает значение, которое передается ему, я ожидал несколько таких, как SelectedIndex элемента управления элементами. Затем я сравниваю его с переданным параметром. Если они равны, я возвращаю Visibility.Visible. Во всех остальных случаях я возвращаю Visibility.Hidden.
Теперь вы можете принять, что и вставить его в XAML как это:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication1"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<local:MyConverter x:Key="vConv"/>
</Window.Resources>
<Grid>
<ComboBox x:Name="comboBox" HorizontalAlignment="Left" Margin="25,52,0,0" VerticalAlignment="Top" Width="120">
<ComboBoxItem>Hidden</ComboBoxItem>
<ComboBoxItem>Visible</ComboBoxItem>
</ComboBox>
<Label x:Name="label" Content="Label" HorizontalAlignment="Left" Margin="219,92,0,0" VerticalAlignment="Top" Visibility="{Binding ElementName=comboBox, Path=SelectedIndex, Converter={StaticResource vConv}, ConverterParameter=1, UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
</Window>
Вы можете видеть, что мы создали экземпляр нашего класса MyConverter в Window.Resources. Когда мы используем это в нашей привязке, мы можем показать/скрыть мой ярлык на основе любого индекса. Теперь это очень просто, и вы можете добавить много для этого, чтобы получить всю необходимую функциональность, и это должно начаться.
Вы можете использовать свойство окна MaxHeight
и MaxWidth
в окне выбора объекта comboBox. Как это:
О выборе Изменить событие combobox.Use это
MainWindow obj= new MainWindow();
if(mycombobox.SelectedIndex==0)
{
obj.MaxWidth="600";
obj.MinWidth="600";
}
if(mycombobox.SelectedIndex==1)
{
obj.MaxWidth="200";
obj.MinWidth="200";
}
или вы также можете сделать это
if(mycombobox.SelectedIndex==0)
{
this.MaxWidth="600";
this.MinWidth="600";
}
if(mycombobox.SelectedIndex==1)
{
this.MaxWidth="200";
this.MinWidth="200";
}
- 1. Как расширить условия множественного цикла?
- 2. SQL-запрос для определенного условия
- 3. Как вводить значения для определенного условия?
- 4. окно сообщения для нескольких условия
- 5. Как расширить WPF Path control
- 6. WPF расширить стиль
- 7. Расширить класс управления WPF
- 8. Как расширить тип определенного типа, например [Float]?
- 9. Полностью модальное окно WPF?
- 10. Расширить окно тестовых сессий UnitSharper
- 11. Окно расширения WPF
- 12. Окно WPF Окно
- 13. Необходимость регулярного выражения для определенного условия
- 14. Где дата только для определенного условия
- 15. вычитание определенного условия для каждого измерения
- 16. Как создать окно WPF, содержащее несколько окон/классов WPF?
- 17. wpf как обновить Окно
- 18. Как отключить окно wpf?
- 19. Как мне правильно расширить окно tkinter?
- 20. Как расширить функциональность массива для массивов определенного типа?
- 21. Как расширить ComboBox в (WPF) DataGridComboBoxColumn?
- 22. Как получить окно wpf для обновления?
- 23. Как главное окно WPF знает, когда закрыто окно дополнительного WPF
- 24. WPF расширить содержание, чтобы за окном
- 25. Как расширить тему xamoutlookbar в wpf?
- 26. Дисплей WPF popup для определенного периода
- 27. Как удалить группу значений при выполнении определенного определенного условия?
- 28. Как отправить форму на основании определенного условия?
- 29. Как передавать сообщения при выполнении определенного условия
- 30. Как удалить строки на основе определенного условия
Вместо огромного белого пустого пространства в левом, есть способ фактического изменения размера окна? Например, если окно было изначально 100 на 100, и был выбран комбо-элемент, могу ли я изменить окно на 100 на 300? – tralifa
@tralifa Для этого вам нужно прочитать о Storyboard and Animations в WPF. – niksofteng