powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Не инициализируется компонент пока не будет показан на экране
10 сообщений из 10, страница 1 из 1
Не инициализируется компонент пока не будет показан на экране
    #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
Не инициализируется компонент пока не будет показан на экране
    #37326370
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexHome,

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

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

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

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

Никак. Дело это абсолютно не нужное.
Понял спасибо, буду переучиваться
...
Рейтинг: 0 / 0
Не инициализируется компонент пока не будет показан на экране
    #37561033
Hobotanius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня точно такая же ситуация. AlexHome, Вы оставили задачу не решённой или как-то избавились от этой некрасивости? Есть на данный момент какой-то способ иправить ситуацию.
Самое странное (для меня), что даже вызывается событие ченьчьселект и зависимые гриды загружаются нужными данными однако селект-курсор просто не отображается.
Что же делать?
...
Рейтинг: 0 / 0
Не инициализируется компонент пока не будет показан на экране
    #37561307
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HobotaniusЧто же делать?
отказываться от старых привычек
...
Рейтинг: 0 / 0
Не инициализируется компонент пока не будет показан на экране
    #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
10 сообщений из 10, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Не инициализируется компонент пока не будет показан на экране
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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