Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Visibility, Установка свойств 
V
    Опции темы
Garcian
  Дата 30.10.2012, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 5.11.2008

Репутация: нет
Всего: нет



Здравствуйте. С WindForms перешел на WPF, из книги Мак-Дональда пока вынес немного (большая книжка), а сделать мне уже необходимо следующее:
Имеется Grid - на нем множество элементов. Есть ComboBox с двумя значениями. При выборе одного часть элементов скрываться, а часть появляться на их месте (соответственно, св-ва Visibility Colapsed Hidden Visible). По старой привычке делал так:
Код

private void intCoding_Selected(object sender, RoutedEventArgs e)
        {
            tBoxGenome.Visibility = System.Windows.Visibility.Visible;
            tBoxMin.Visibility = Visibility.Collapsed;
            tBoxMax.Visibility = Visibility.Hidden;
        }

        private void floatCoding_Selected(object sender, RoutedEventArgs e)
        {
            tBoxGenome.Visibility = Visibility.Collapsed;
            tBoxMin.Visibility = Visibility.Visible;
            tBoxMax.Visibility = Visibility.Visible;
        }


XAML
Код

...
<ComboBox Grid.Row="3" Grid.Column="2" BorderBrush="#FF008700" Foreground="#FF26A326" Background="#1E006400" MaxDropDownHeight="100" Margin="2" Name="comboCoding" HorizontalContentAlignment="Center">
            <ComboBoxItem Name="intCoding" Content="Целочисленное кодирование" Selector.IsSelected="True" HorizontalContentAlignment="Center" Selected="intCoding_Selected" />
            <ComboBoxItem Name="floatCoding" Content="Вещественное кодирование" HorizontalContentAlignment="Center" Selected="floatCoding_Selected" />
        </ComboBox>
...
 <!--Лэйблы и текстбоксы видимы только для целочисленного кодирования-->
        <Label Name="labInt" Grid.Column="0" Grid.Row="5" VerticalAlignment="Center" HorizontalAlignment="Center">Размер генома:</Label>
        <TextBox Name="tBoxGenome" Grid.Column="1" Grid.Row="5" MaxWidth="100" HorizontalAlignment="Left" MinWidth="100" TextAlignment="Center" Text="5" MaxLength="2"></TextBox>

        <!--Лэйблы и текстбоксы видимы только для вещественного кодирования-->
        <Label Name="labFloatMin" Grid.Column="0" Grid.Row="5" VerticalAlignment="Center" HorizontalAlignment="Center" Content="Min значение генома:" Visibility="Collapsed"></Label>
        <TextBox Name="tBoxMin" Grid.Column="1" Grid.Row="5" MaxWidth="100" HorizontalAlignment="Left" MinWidth="100" TextAlignment="Center" Text="0.000000" Visibility="Collapsed"></TextBox>
        <Label Name="labFloatMax" Grid.Column="0" Grid.Row="6" VerticalAlignment="Center" HorizontalAlignment="Center" Visibility="Hidden">Max значение генома:</Label>
        <TextBox Name="tBoxMax" Grid.Column="1" Grid.Row="6" MaxWidth="100" HorizontalAlignment="Left" MinWidth="100" TextAlignment="Center" Text="9.999999" Visibility="Hidden"></TextBox>



Подскажите, что в wpf за это отвечает, желательно с примером. Надеюсь на скорейший ответ, ибо тут обычно с ним не торопятся  smile . Спасибо.
--------------------
Неродивый студент
PM MAIL   Вверх
Garcian
Дата 30.10.2012, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 5.11.2008

Репутация: нет
Всего: нет



В общем ошибка, как мне кажется, в следующем. Первым делом загружается событие ComboBoxItem_IsSelected, и там ссылки на классы текстбоксов, которые еще не созданы. Если убрать изначально выбранный элемент в комбобоксе, то все работает. Вот так то...
Ну и да, это свойство можно добавить в WindowLoad или Init-ze, тоже все заработает  smile 

Это сообщение отредактировал(а) Garcian - 30.10.2012, 22:51
--------------------
Неродивый студент
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0580 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.