Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Не инициализируется компонент пока не будет показан на экране / 10 сообщений из 10, страница 1 из 1
27.06.2011, 17:05
    #37326221
AlexHome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не инициализируется компонент пока не будет показан на экране
Есть приложение на котором находится TabControl c двумя Tab - ми, на первом находится кнопка которая устанавливает курсор в DataGrid-e во вторую позицию, который находится на второй вкладке. При запуске видна только первая вкладка с кнопкой DataGrid не виден, если нажать на кнопку то позиция не установиться, если открыть вторую вкладку а потом перейти на первую и опять нажать на кнопку то позиция установится
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<UserControl x:Class="SilverlightApplication9.MainPage"
    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"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk">

    <Grid x:Name="LayoutRoot" Background="White">
        <sdk:TabControl Height="234" HorizontalAlignment="Left" Margin="52,44,0,0" Name="tabControl1" VerticalAlignment="Top" Width="326">
            <sdk:TabItem Header="tabItem1" Name="tabItem1">
                <Grid>
                    <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="74,44,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
                </Grid>
            </sdk:TabItem>
            <sdk:TabItem Header="tabItem2" Name="tabItem2">
                <Grid>
                    <sdk:DataGrid ItemsSource="{Binding strs}" RowBackground="White" AutoGenerateColumns="False" Height="141" HorizontalAlignment="Left" Margin="36,12,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="199">
                        <sdk:DataGrid.Columns>
                            <sdk:DataGridTextColumn Binding="{Binding}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" />
                        </sdk:DataGrid.Columns>
                    </sdk:DataGrid>
                </Grid>
            </sdk:TabItem>
        </sdk:TabControl>
    </Grid>
</UserControl>


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.ObjectModel;

namespace SilverlightApplication9
{
    public partial class MainPage : UserControl
    {
        private ObservableCollection<string> _strs = new ObservableCollection<string>();
        public ObservableCollection<string> strs { get { return _strs; } set { _strs = value; } }
        public MainPage()
        {
            this.DataContext = this;
            InitializeComponent();
            strs.Add("1");
            strs.Add("2");
            strs.Add("3");
            strs.Add("4");
            strs.Add("5");
        }
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            dataGrid1.SelectedIndex = 2;
        }
    }

}

...
Рейтинг: 0 / 0
27.06.2011, 18:52
    #37326370
Руки-крюки
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не инициализируется компонент пока не будет показан на экране
AlexHome,

Устанавливайте позицию через привязку.
...
Рейтинг: 0 / 0
27.06.2011, 18:58
    #37326377
AlexHome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не инициализируется компонент пока не будет показан на экране
Руки-крюкиAlexHome,

Устанавливайте позицию через привязку.
пробовал, такая же ситуация, контрол как бы не инициализирован, а когда инициализируется(показывается), привязку SelectedItem в Null выставляет, как бы вопрос наверно даже другой как инициализировать контрол не показывая его
...
Рейтинг: 0 / 0
27.06.2011, 22:50
    #37326580
AlexHome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не инициализируется компонент пока не будет показан на экране
Помогите как загрузить(инициализировать) datagrid не показывая его пользователю, чтобы приложение стартовало а строка была уже выбрана и datagrid не был бы виден
...
Рейтинг: 0 / 0
28.06.2011, 08:40
    #37326726
AlexHome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не инициализируется компонент пока не будет показан на экране
Руки-крюкиAlexHome,

Устанавливайте позицию через привязку.
Спасибо разобрался, немного из за границы помогли примером, но суть таже
...
Рейтинг: 0 / 0
29.06.2011, 12:50
    #37328674
Руки-крюки
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не инициализируется компонент пока не будет показан на экране
AlexHomeПомогите как загрузить(инициализировать) datagrid не показывая его пользователю, чтобы приложение стартовало а строка была уже выбрана и datagrid не был бы виден

Никак. Дело это абсолютно не нужное.
...
Рейтинг: 0 / 0
29.06.2011, 18:15
    #37329469
AlexHome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не инициализируется компонент пока не будет показан на экране
Руки-крюкиAlexHomeПомогите как загрузить(инициализировать) datagrid не показывая его пользователю, чтобы приложение стартовало а строка была уже выбрана и datagrid не был бы виден

Никак. Дело это абсолютно не нужное.
Понял спасибо, буду переучиваться
...
Рейтинг: 0 / 0
06.12.2011, 14:37
    #37561033
Hobotanius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не инициализируется компонент пока не будет показан на экране
У меня точно такая же ситуация. AlexHome, Вы оставили задачу не решённой или как-то избавились от этой некрасивости? Есть на данный момент какой-то способ иправить ситуацию.
Самое странное (для меня), что даже вызывается событие ченьчьселект и зависимые гриды загружаются нужными данными однако селект-курсор просто не отображается.
Что же делать?
...
Рейтинг: 0 / 0
06.12.2011, 16:20
    #37561307
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не инициализируется компонент пока не будет показан на экране
HobotaniusЧто же делать?
отказываться от старых привычек
...
Рейтинг: 0 / 0
06.12.2011, 16:44
    #37561376
Hobotanius
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не инициализируется компонент пока не будет показан на экране
ИзопропилHobotaniusЧто же делать?
отказываться от старых привычек

Изопропил, у вас тут чё общаться бесполезными фразами в моде? Или если почти 6000 сообщений написал, то впадлу дельные советы давать и нужно любой фразой почеркнуть глупизну собеседника?

Короче решил это таким путём:
Написал обработчик события GotFocus на TabControl

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
        #region Одноразовый обработчик GotFocus в tabContract
        private void tabContract_GotFocus(object sender, RoutedEventArgs e)
        {
            try
            {
                dataGridContract.SelectedIndex = 1; // Если сразу установить 0, то не сработает dataGridContract_SelectionChanged
            }
            catch { }

            try
            {
                dataGridContract.SelectedIndex = 0;
            }
            catch { }

            tabContract.GotFocus -= tabContract_GotFocus; 
        }
        #endregion



Теперь всё красиво.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Не инициализируется компонент пока не будет показан на экране / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]